Tôi gặp sự cố didReceiveData và didCompleteWithError không được gọi. Đây là mã của tôi:Phương thức NSURLSessionDataDelegate didReceiveData và các phương thức khác không được gọi là
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="+"[email protected]&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()
}
Đây là những đại biểu tôi thực hiện
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?) {
}
Ở đây tôi xem với điểm break
didReceiveResponse
được gọi nhưng hai khác không nhận được gọi là .
Vui lòng trợ giúp!
Bạn đã có giải pháp chưa? Tôi cũng bị mắc kẹt với cùng một kịch bản – ChezhianNeo
bạn có thể sử dụng trình xử lý hoàn tất cho việc này. –