Ich habe ein Problem mit meiner Funktion in Swift, um die Daten (JSON) zurück zu bekommen. Ich weiß, es ist die Fertigstellung, aber ich kämpfe, vielleicht kann jemand helfen.Abschluss Handler bei Alamofire mehrteilige Upload-Anfrage
Der folgende Code zeigt meine Funktion. Die API benötigt den JSON als Zeichenfolge in einem Feld. Die Anfrage selbst funktioniert> der Druck (Post) zeigt die korrekten Daten an. Aber ich verstehe diese Funktion nicht. (ich benutze Alamofire, SwiftyJSON, swift2.2 und Xcode 7,3)
class func searchCities(jsonStr: String) -> JSON {
let oEndpoint = "https://api.domain.com/api/1.0/"
guard let url = NSURL(string: oEndpoint) else {
print("error url")
return nil
}
// let parameters : [String: String] = ["one":"some param", "two":"some other param"]
var result: JSON = JSON("")
Alamofire.upload(.POST,
url,
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(data: jsonStr.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!, name :"data")
// parameters if needed
// multipartFormData.appendBodyPart(data: value, name: key)
},
encodingCompletion: { encodingResult in
switch encodingResult {
case .Success(let upload, _, _):
upload.responseJSON{ response in
guard response.result.error == nil else {
print("error response")
print(response.result.error!)
return
}
if let value: AnyObject = response.result.value{
let post = JSON(value)
print(post)
result = JSON(value) }
}
case .Failure(_):
print("failure")
break
}
}
)
//print("res: \(result)")
return result
}