Jes*_*der 8 iphone multithreading objective-c objective-c-blocks
例如,在GKScore's reportScoreWithCompletionHandler(文档)中,假设你打电话
[score reportScoreWithCompletionHandler:^(NSError *error) {
// do some stuff that may be thread-unsafe
}];
Run Code Online (Sandbox Code Playgroud)
在哪个线程中将调用完成处理程序:主线程,与被调用的线程相同的线程reportScoreWithCompletionHandler,或者不同的线程(可能是实际得分报告完成的线程)?
换句话说,在完成处理程序中完成的工作是否需要是线程安全的(例如,它在哪个线程中完成并不重要)?
小智 6
实际上并不重要.
如果您需要在主线程中运行完成,只需将其发送到主线程:
[score reportScoreWithCompletionHandler:^(NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
// do your stuff here
});
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5115 次 |
| 最近记录: |