gpt4 book ai didi

swift - NSURLSessionDataDelegate 方法 didReceiveData 等不被调用

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:31 26 4
gpt4 key购买 nike

我遇到了 didReceiveData 和 didCompleteWithError 没有被调用的问题。这是我的代码:

class LoginViewController: UIViewController, NSURLSessionDataDelegate, NSURLSessionDelegate, NSURLSessionTaskDelegate {
.
.
.
}

@IBAction func loginAction(sender: AnyObject) {

var sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()

var session = NSURLSession(configuration: sessionConfiguration, delegate: self, delegateQueue:nil)

let postParams = "email="+"rabcd@gmail.com&password="+"abcd"

let url = NSURL(string:"http://myurl.com/api/v1/user/login")
let request = NSMutableURLRequest(URL: url!)

request.HTTPMethod = "POST"

request.HTTPBody = postParams.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)

let task = session.dataTaskWithRequest(request)


task.resume()


}

这些是我实现的委托(delegate)

func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveResponse response: NSURLResponse, completionHandler: (NSURLSessionResponseDisposition) -> Void) {

}

func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveData data: NSData) {

}

func URLSession(session: NSURLSession, task: NSURLSessionTask, didCompleteWithError error: NSError?) {

}

我这里是断点看的

didReceiveResponse 被调用,但其他两个没有被调用。

请帮忙!

最佳答案

在您的委托(delegate)方法中实现完成处理程序

func URLSession(session: NSURLSession, dataTask: NSURLSessionDataTask, didReceiveResponse response: NSURLResponse, completionHandler: (NSURLSessionResponseDisposition) -> Void) {
completionHandler(NSURLSessionResponseDisposition.Allow) //.Cancel,If you want to stop the download
}

关于swift - NSURLSessionDataDelegate 方法 didReceiveData 等不被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27828593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com