在我的代码的以下部分中,我遇到了问题
无法调用非函数类型'NSDictionary'的值
do {
var json = try NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers) as? NSDictionary
if let parseJSON = json {
var resultValue: String = parseJSON ("status") as String!
print ("result:\(resultValue)")
if resultValue == "success" {
// Login is successful
NSUserDefaults.standardUserDefaults().setBool(true, forKey: ("isUserLoggedIn"))
NSUserDefaults.standardUserDefaults().synchronize()
self.dismissViewControllerAnimated(true, completion: nil)
}
}
} catch let error as NSError{
print("error=\(error)")
}
我已经尝试将if语句放在do catch语句之外,但后来我遇到问题“使用未解析的标识符'json'
答案 0 :(得分:1)
这部分代码:
String = parseJSON ("status")
尝试将数组或(在本例中)字典作为函数调用。您要查找的语法使用[]
而不是()
:
String = parseJSON["status"]
您也不应该在用户默认代码中使用括号:
forKey: "isUserLoggedIn")
如果您不小心使用括号,则会开始定义元组并遇到其他问题......