函数运行时无需等待前一个完成

时间:2010-02-17 01:38:21

标签: iphone iphone-sdk-3.0

在上一个函数有时间完成之前,我遇到了一个问题。根据日志,它们都运行,但几乎就像从AppDelegate调用的函数放在一个单独的线程上。

-(IBAction) checkLocation {
[AppDelegate locateMe];
[self checkForChangeAndReloadTable];    
}

可以从几个视图中调用locateMe函数,这些视图会对信息执行不同的操作。它找到用户的位置并将其保存为用户默认值。 checkForChangeAndReloadTable检查默认值,如果位置已更改,则使用新的更相关的信息重新加载表。它似乎在检查后发生了变化,所以如果用户调用了两次checkLocation函数,这确实有效。

这是预期的吗?任何想法如何解决它?

2 个答案:

答案 0 :(得分:1)

没有看到locateMecheckForChangeAndReloadTable方法的任何源代码,这是不可能的,但是有几个CoreLocation方法是异步运行的,这可能是你的问题。

答案 1 :(得分:1)

您可以使用通知来处理异步事件。基本思路是设置一个通知,当locateme完成时调用checkForChangeAndReloadTable

相关问题