iOS 等待条件满足再向下执行但不主卡线程NSRunLoop

源自:cocoachine问答
当我们需要等一个异步的结果才能向下执行代码,写回调又很麻烦,功能相对简单的时候,就可以插入以下红色部分的代码。
- (IBAction)start:(id)sender
{
pageStillLoading = YES;
[NSThread detachNewThreadSelector:@selector(loadPageInBackground:)toTarget:self withObject:nil];
[progress setHidden:NO];
while (pageStillLoading) {
[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
}

[progress setHidden:YES];
}
loadPageInBackground方法执行完了之后才 pageStillLoading=NO把 进度条隐藏。
原理等一些问题我理解也不透彻,就不copy了,自己查吧。

你可能感兴趣的:(iOS_多线程)