0

我将我的应用程序的 UIWindow 子类化,然后当用户没有活动时,我使用 NSNotificationCenter 发出通知。我正在使用 [NSTimer scheduledTimerWithTimeInterval:target:selector: userInfo:repeats:]

我在我的 AppDelegate 类中处理这个问题。这可以正常工作,除非我使用 MBProgressHUD 运行代码 - http://iosdevelopertips.com/open-source/ios-open-source-heads-up-display-with-mbprogresshud.html 我认为这会启动另一个线程。当完成委托与响应通知的代码运行时同时触发时会发生错误。我很确定这是一个线程问题,但我该如何避免这种情况

4

1 回答 1

0

您可以在应用程序委托上使用 @synchronized。由于应用程序委托是单例,因此您必须对其保护的关键部分:一个在“完成委托”中,另一个在您的应用程序委托中。

苹果线程文档中的更多信息在这里

编辑:这个关于线程和通知的链接对你来说是一个很好的信息来源。

编辑2:这个更好

于 2011-09-27T12:17:08.320 回答