AlamoFireを使用するエンドポイントにAPI呼び出しを行うことができます。印刷ツールを使用してJSONレスポンスをコンソールに出力してJSON文字列を見ることができますが、この文字列を次の関数に移動することはできません。Alamofireがオプションでアンラッピング中に予期せずnilが見つかりましたが、JSONが表示されます
私はエラーを取得しておいてください。
"fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)"
私のコードは次のようになります。
func getDataForUser(Username:String, UserToken:String) {
print("Getting data for user \(Username)")
Alamofire.request(.POST, baseURL+userdataURL, parameters: ["Username": Username, "UserToken": UserToken]).response { (req, res, data, error) -> Void in
let jSONResponse: NSDictionary = (try! NSJSONSerialization.JSONObjectWithData(data!,options: NSJSONReadingOptions.MutableContainers)) as! NSDictionary
print(jSONResponse)
if(jSONResponse["Success"] as! Bool == true) {
print("Success! API Request Worked")
self.delegate!.didReceiveAPIResults(jSONResponse)
}
}
}
エラーがライン上にある:
self.delegate!.didReceiveAPIResults(jSONResponse)
コンソールは次のようになります。
jSONResponse NSDictionary 2 key/value pairs 0x78e8d6a0
[0] (null) "Success" : "1"
[1] (null) "Response" : 2 key/value pairs
jSONResponseのデバッグ画面では、ドリルが可能なデータが得られますので、そのデータがないことはわかります。 どこから来ていないのですか?どのように解決しますか?
どのラインがクラッシュしていますか? – brl214
self.delegate!.didReceiveAPIResults(jSONResponse) –
それは単純です:あなたの代理人はnilです。 – Moritz