मैं स्विफ्ट का उपयोग कर JSON प्रतिक्रिया प्राप्त करने का प्रयास कर रहा हूं।AFNetworking और स्विफ्ट
मैंने अनुरोध और प्रतिक्रिया को छीन लिया -> सब कुछ ठीक है। हालांकि वापसी मूल्य हमेशा nil
है।
let httpClient = AppDelegate.appDelegate().httpRequestOperationManager as AFHTTPRequestOperationManager;
let path = "/daten/wfs";
let query = "?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:AMPELOGD&srsName=EPSG:4326&outputFormat=json".stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding);
func successBlock(operation: AFHTTPRequestOperation!, responseObject: AnyObject!) {
println("JSON: " + "\(responseObject)")
}
func errorBlock(operation: AFHTTPRequestOperation!, error:NSError!) {
println("Error: " + error.localizedDescription)
}
let urlString = "\(path)" + "/" + "\(query)"
println("urlString: " + httpClient.baseURL.absoluteString + urlString)
मैं भी यह इस तरह से करने की कोशिश की:
httpClient.GET(urlString, parameters: nil,
success: { (operation: AFHTTPRequestOperation!, responseObject: AnyObject!) -> Void in
println("Success")
println("JSON: " + "\(responseObject)")
},
failure:{ (operation: AFHTTPRequestOperation!, error:NSError!) -> Void in
println("Failure")
})
... लेकिन responseObject
हमेशा प्रतीत हो रहा है nil
संपादित करें:
हो सकता है कि कारण संभव है मेरे AppDelegate
में गलत प्रारंभिकरण:
var httpRequestOperationManager: AFHTTPRequestOperationManager? // JAVA SERVER Client
class func appDelegate() -> AppDelegate {
return UIApplication.sharedApplication().delegate as AppDelegate
}
func configureWebservice() {
let requestSerializer = AFJSONRequestSerializer()
requestSerializer.setValue("1234567890", forHTTPHeaderField: "clientId")
requestSerializer.setValue("Test", forHTTPHeaderField: "appName")
requestSerializer.setValue("1.0.0", forHTTPHeaderField: "appVersion")
let responseSerializer = AFJSONResponseSerializer()
AFNetworkActivityIndicatorManager.sharedManager().enabled = true
// ##### HTTP #####
let baseURL = NSURL(string: "http://data.wien.gv.at");
httpRequestOperationManager = AFHTTPRequestOperationManager(baseURL: baseURL))
httpRequestOperationManager!.requestSerializer = requestSerializer
httpRequestOperationManager!.responseSerializer = responseSerializer
}
कोई सुझाव जो मैं गलत कर रहा हूं?
मैं अत्यधिक तुम AFNetworking के बजाय [Alamofire] (https://github.com/Alamofire/Alamofire) का उपयोग करें। यह एफ़नेटवर्किंग का उत्तराधिकारी है और स्विफ्ट के लिए पूरी तरह से लिखा गया है। – Dschee