Ich frage mich, warum die SwiftyJSON manchmal einen Wert als "myString" liefert und ein andermal als Optional ("myString")Wert manchmal kehrt als optionale Zeichenkette mit SwiftyJSON
Zum Beispiel:
func getFBUserData(){
if((FBSDKAccessToken.currentAccessToken()) != nil){
FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, email"]).startWithCompletionHandler({ (connection, result, error) -> Void in
if (error == nil){
let fbJson = JSON(result)
let fbId = fbJson["id"].string
print(fbId)
}
})
}
}
Hier FBID zurückkehren: Optional ("myString")
Next:
static func loginWithEmail(facebookId: String, email: String, username: String, response: (token: String?) ->()) {
let urlString = baseURL + ResourcePath.FbLogin.description
let parameters: [String: AnyObject] = [
"fb_id": facebookId,
"level": 1,
"email": email,
"username": username
]
Alamofire.request(.POST, urlString, parameters: parameters).responseJSON{ (responseData) -> Void in
//print(responseData)
let json = JSON(responseData.result.value!)
let token = json["api_token"].string
response(token: token)
}
}
Hier Token kehrt "myString"
Wie also kann eine Funktion Rückkehr optional(), wenn beide Funktionen verwenden "System.String" und nicht “.String ! "?
Wie drucken Sie die 'token' im zweiten Fall? – Sulthan