iOS9.0 NSURLSession 網絡請求,出現的錯誤解決辦法。

- (void)getNetTime {

? ? ? ? NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];

? ? ? ? NSURLRequest *request=[NSURLRequest requestWithURL:url];

? ? ? ? NSURLSession *session = [NSURLSession sharedSession];

? ? ? ? NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request

? ? ? ? completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

? ? ? ? ? ? ? ? ? ? ? ? ?// do something with the data

? ? ? ? ?}];

? ? ? ? [dataTask resume];

}


運行的時候雖然不會崩潰,但是會報如下錯誤:This application is modifying the autolayout engine from a background thread, which can lead to engine corruption and weird crashes.? This will cause an exception in a future release.


解決方法:

- (void)getNetTime {

? ? ? ? ? ? ? ?NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"];

? ? ? ? ? ? ? ?NSURLRequest *request=[NSURLRequest requestWithURL:url];

? ? ? ? ? ? ? ?NSURLSession *session = [NSURLSession sharedSession];

? ? ? ? ? ? ? ?NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request

? ? ? ? ? ? ? ?completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {

? ? ? ? ? ? ? ? ? ? ? ? ?if (error == nil) {// 將要處理的內容放在GCDblock中就可以了

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?dispatch_async(dispatch_get_main_queue(), ^{

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? // do something with the data

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?});

? ? ? ? ? ? ? ? ? ? ? ? ?} else {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NSLog(@"hhhhda");

? ? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ?}];

? ? ? ? ? ? ? ?[dataTask resume];

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容