2016-02-01 31 views
1

在我的代碼下面的部分我得到的問題不能調用非功能型的價值「的NSDictionary」

不能調用非功能型的價值「的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'

+2

使用'[]'來訪問字典元素,而不是'()' – dan

回答

1

此部分代碼:

String = parseJSON ("status") 

正試圖調用一個數組或字典(在本例中)作爲函數。你也應該不使用你的用戶默認代碼括號

String = parseJSON["status"] 

:你正在尋找應用[]代替()的語法,如果你不小心用括號

forKey: "isUserLoggedIn") 

你開始定義元組並遇到其他問題...

+0

Apple可以更改錯誤消息。例如「您正在嘗試使用字典,就像它是一個函數一樣」。 – gnasher729