我有问题。我在dispatch_async
中调用了一些方法。但是在callMethod2
的不同对象中,我使用[NSURLConnection sendAsynchronousRequest
上传图片。但上传后,它并没有显示我的回复。 (但是当我在没有dispatch_async的情况下调用callMethod2时,它工作得很好)。问题出在哪里?
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void){
[offline callMethod1];
[offline callMethod2];
});
上传图片
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue currentQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSLog("Never show me me this log");
}];
答案 0 :(得分:1)
您在不是主线程的线程上调用NSLog(也称为异步调用),因此您不会看到NSLog,因为它必须在主线程上运行。
完成后,您可以通过其他方式通知您。我发现的最好的方法是使用https://github.com/kseebaldt/deferred,它允许你发送一个承诺说(我保证我会做这件事并在完成后通知你)。