在dispatch_async中上传UIImage

时间:2015-07-21 20:41:47

标签: ios objective-c asynchronous dispatch-async sendasynchronousrequest

我有问题。我在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");

}];

1 个答案:

答案 0 :(得分:1)

您在不是主线程的线程上调用NSLog(也称为异步调用),因此您不会看到NSLog,因为它必须在主线程上运行。

完成后,您可以通过其他方式通知您。我发现的最好的方法是使用https://github.com/kseebaldt/deferred,它允许你发送一个承诺说(我保证我会做这件事并在完成后通知你)。