考虑到下面的代码,我将我的应用程序从同步调用移动到异步调用以停止 UI 冻结。-- 除了一些小细节,一切都很好。
当它是同步调用时,它们总是返回一个值(即使需要很长时间(5 或 6 秒))但是现在:
异步调用有时非常快,有时需要 8 或 9 秒(我也有光纤互联网)
他们获取的文本数据有时似乎没有返回或超时,因为 myLabel 文本最终设置为“NULL” - 我知道这不是我使用 API 的网站,因为它总是返回 Sync 的值调用和在浏览器中。
有任何想法吗?谢谢!
编辑:来自日志的错误响应是:响应:错误:(空)
[NSURLConnection sendAsynchronousRequest:requestGBP queue:operationQueue completionHandler: ^(NSURLResponse* response, NSData* data, NSError* error)
{
responseGBP = data;
NSString *json_stringGBP = [[NSString alloc] initWithData:responseGBP encoding:NSASCIIStringEncoding];
self.feedGBP = [parser objectWithString:json_stringGBP error:nil];
NSString *GBP = [NSString stringWithFormat:@"Info Last: %@" feedGBP ObjectForKey:@"value"]];
[myLabel setText:GBP];
}];
EDIIT:: 我还在日志窗口中看到很多“不应该到达这里”?!它不是我的 NSLog 代码的一部分!