簡體   English   中英

Swift 2和JSON函數用於異步請求

[英]Swift 2 & JSON function for asynchronous request

我具有在Swift 1.2上發送URL異步請求的功能,但在Swift 2上不起作用。

func getpost(method:String,bodyt:String,url:String,completion: (res: AnyObject?)->Void){
UIApplication.sharedApplication().networkActivityIndicatorVisible = true
let urlString = url
let url:NSURL! = NSURL(string: urlString)
let request = NSMutableURLRequest(URL: url)
request.HTTPMethod = method
let postString = bodyt
if method.uppercaseString == "POST"{
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
}
let mainQueue = NSOperationQueue.mainQueue()
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
    {(response, data, error) in
        if let httpResponse = response as? NSHTTPURLResponse {
            let statusCode = httpResponse.statusCode
            if (error == nil) && (statusCode == 200){
                let resultdata: AnyObject?  = NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: nil)
                dispatch_async(dispatch_get_main_queue(), {
                    completion(res: resultdata)
                })
            }
        }

}
}

請幫助:)

NSURLConnection已在iOS 9中棄用,這可能是給您帶來麻煩的原因。 據我從您嘗試執行的“新方法”可以確定的是,先初始化NSURLSession,然后初始化NSURLSessionDataTask來檢索所需的數據。 這可以通過完成處理程序以與您在此處概述的方法幾乎相同的方式進行,也可以通過委托方法來完成。 您可以在開發人員參考頁面上找到更多信息: https : //developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSession_class/如果您願意,我可以發送一些示例代碼。 祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM