Ich möchte einen Null-Wert übergeben, d. H. Optional auf einen der Parameterwert. Und es muss mit dem Null-Wert in der Alamofire Post Anfrage fortfahren. Es wäre hilfreich, wenn Sie mir sagen, wie man als nächstes vorgeht?Wie übergebe ich einen Nullwert für einen der Parameter in Alamofire Post Anfrage
let image: UIImage = UIImage()
let imageData = UIImagePNGRepresentation(image)
let base64String = imageData?.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
let parameters = [
"first_name": "XXXXX",
"email" : "[email protected]",
"password" : "password",
"profile_picture" : base64String]
Alamofire.request(.POST, "http://abc/public/user/register", parameters: parameters, encoding: .JSON, headers: nil)
.progress { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in
print(totalBytesWritten)
// This closure is NOT called on the main queue for performance
// reasons. To update your ui, dispatch to the main queue.
dispatch_async(dispatch_get_main_queue()) {
print("Total bytes written on main queue: \(totalBytesWritten)")
}
}
.responseJSON { response in
debugPrint(response)
}
Die Antwort bekommt sollte, auch wenn die profile_pictures gelang leer. Ich weiß, dass es mit optionaler Verkettung gemacht werden kann, aber nicht weiß, wie es weitergeht !!
@ Sahil '" Schlüssel ": Null wird dies als ein zusätzliches [Schlüssel: Wert] Paar behandelt werden. Was soll es mit dem Wert "profile_picture" machen ?! –
okay, du meinst wenn du base64String leer bist wana pass nil? – Sahil
Ja sollte es, aber es wird beim Entpacken des Werts abgestürzt, weil es ein Nullwert ist. Ich muss eine Erfolgsantwort erhalten, auch wenn der Wert Null ist. Wenn ich Ihren Code versuchte, sagt es ** 'Valye des Typs' Bool 'kann nie Null sein, Vergleich ist nicht erlaubt' ** –