我目前正在使用Swift 2.0和Xcode 7.0.1開發我的第一個iOS應用程序。Swift:使用未解析的標識符'json'
我得到一個奇怪的小錯誤,我似乎無法修復:
var err: NSError?
原始代碼:
//var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: &err) as? NSDictionary
Swift2重寫代碼:
do {
if let json = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {
print(json)
}
} catch {
print(error)
}
在重寫之前使用未解析的標識符'json'
if let parseJSON = json {
var resultValue = parseJSON["status"] as? String
print("result: \(resultValue)")
var isUserRegistered:Bool = false;
if(resultValue=="Success") { isUserRegistered = true; }
var messageToDisplay:String = parseJSON["message"] as! String!;
if(!isUserRegistered)
{
messageToDisplay = parseJSON["message"] as! String!;
}
dispatch_async(dispatch_get_main_queue(),{
//Display alert message with confirmation.
var myAlert = UIAlertController(title:"Alert", message:messageToDisplay, preferredStyle: UIAlertControllerStyle.Alert);
let okAction = UIAlertAction(title:"Ok", style:UIAlertActionStyle.Default){ action in
self.dismissViewControllerAnimated(true, completion: nil);
}
myAlert.addAction(okAction);
self.presentViewController(myAlert, animated:true, completion:nil);
});
}
錯誤是在這行拋出:
if let parseJSON = json {
是否有人可以告訴我,我做錯了什麼嗎?
代碼移到如果讓語句... – dirtydanee
您的JSON不是全局聲明...所以你需要從'如果讓parseJSON = json'移動你的代碼到DO ... CATCH –
此類消息重寫這個正常之後出現? [鏈接](https://drive.google.com/file/d/0B9oZrweCVU4jdUk4UXdBM0lLaDg/view?usp=sharing) –