Swift Json 解析異常處理

黨你孤單你會想起稅發表於2017-02-06

{

        

        // 1.獲取本地json檔案路徑

        let jsonPath = NSBundle.mainBundle().pathForResource("MainVCSettings.json", ofType: nil)

        // 2.載入json資料

        let jsonData = NSData(contentsOfFile: jsonPath!)

        // 3.序列化json

        do{

             // throw是Xcode7最明顯的一個變化, Xcode7之前都是通過傳入error指標捕獲異常, Xocode7開始通過try/catch捕獲異常

            let dictArray = try NSJSONSerialization.JSONObjectWithData(jsonData!, options: NSJSONReadingOptions.MutableContainers)

            

            // 遍歷字典時候需要明確指明陣列中的資料型別

            for dict in dictArray  as! [[String:String]]

            {

                 // 由於addChildVC方法引數不能為nil, 但是字典中取出來的值可能是nil, 所以需要加上!

                addChildViewController(dict["vcName"]!, title: dict["title"]!, imageName: dict["imageName"]!)

            }

        }catch{

            addChildViewController("HomeTableViewController", title: "首頁", imageName: "tabbar_home")

            addChildViewController("MessageTableViewController", title: "訊息", imageName: "tabbar_message_center")

            addChildViewController("DiscoverTableViewController", title: "發現", imageName: "tabbar_discover")

            addChildViewController("ProfileTableViewController", title: "我", imageName: "tabbar_profile")

        }

    }

相關文章