我是Objective C和Mac开发的新手...看来我可以在我的应用程序中使用Posix线程API。这是推荐的方法吗?还是我应该将其用于互斥体,条件变量和线程的某些Apple API?
我应该补充一点,我正在为iPhone开发。
我想确切地添加我想做的事情。基本上,CoreLocation是异步的...您告诉它开始更新您,然后它只是定期对您调用一个update方法...
我的问题是我需要另一个线程来阻塞,直到发生更新为止。如何在至少一个CoreLocation更新发生之前,使主应用程序线程阻塞?他们的NSConditionVariable吗? :)
最佳答案
建议不要显示某种加载屏幕,直到您收到第一次更新为止,而不是通过挂起阻止用户界面。可能看起来像这样:
- (void)viewDidLoad {
...
[myCLLocationManager beginUpdates];
[self showLoadingIndicator];
....
}
- (void)locationManager:(CLLocationManager *)manager didReceiveUpdates {
[self hideLoadingIndicator];
// Additionally load the rest of your UI here, if you haven't already
}
不要在逐字记录方法上引用我,但是从本质上讲,这就是我建议解决您的问题的方式。
关于iphone - 推荐用于iPhone开发的线程层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1261703/