Ich frage mich, wie ich meine Funktion verlassen kann, wenn die Anfrage abgelaufen ist. Wenn ich meinen Server offline setzen und versuchen, einige Anrufe mit dieser Funktion der App stürzt durch: fatale Fehler: unerwartet gefunden null, während einem optionalen Wert AbwickelnSwift Alamofire beendet, wenn Anfrage abgelaufen ist
Meiner Alamofire v3.x Funktion sieht wie folgt aus :
static func loginWithFb(facebookId: String, email: String, username: String, response: (token: String?, errorVal: JSON?) ->()) {
let urlString = baseURL + ResourcePath.FbLogin.description
let parameters: [String: AnyObject] = [
"facebook_id": facebookId,
"user_type": 1,
"email": email,
"username": username
]
Alamofire.request(.POST, urlString, parameters: parameters).responseJSON{ (responseData) -> Void in
let json = JSON(responseData.result.value!)
let token = json["api_key"].string
response(token: token, errorVal: json)
}
}
ich null ab: let json = JSON(responseData.result.value!)
und den Fehler:
FAILURE: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x7fc39349c4a0 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=http://mysite.dev/fb, NSErrorFailingURLKey=http://mysite.dev/fb,
_kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}
fatal error: unexpectedly found nil while unwrapping an Optional value
Also wie kann ich den Anruf beenden, wenn die Anfrage abgelaufen ist? verhindern, dass es versucht, die JSON-Daten
Danke, hier
wie Parameter und header übergeben? –
Ich habe auch params senden wollen, aber nicht wie –