【发布时间】:2013-11-05 12:27:08
【问题描述】:
我正在从斯坦福的视频中了解积木。我现在在解释核心数据的部分。老师们提到了一些事情:
- (void)openWithCompletionHandler:(void (^)(BOOL success))completionHandler;
他说completionhandler块会在调用方法的线程中被调用。所以基本上该方法运行异步但块在线程上被调用,让我们假设 main.
所以我的问题是所有块是否都在进行方法调用的线程上运行。为了说明我问这个问题的原因,我有一个 Async 类,它确实向服务器发出请求。
所有这些方法的格式都是这样的:
- (void) getSomething:(id <delegateWhatever> const)delegate{
goto background thread using GCD..
Got result from server...
Go back to main thread and call the delegate method...
}
当我使用块时,如果它们会在调用的地方被调用,我不需要担心回到主线程?
希望这很清楚,
提前致谢
【问题讨论】:
标签: ios objective-c