我有一个 NSAutoreleasePool 线程,旨在从 Web 服务中提取信息,我的 Web 服务代码工作得很好,我可以触发线程在 View Controller 中启动而不会出现任何问题,事实上它工作得很好.
我想:
- 将线程实例化移动到 appDelegate - 简单!
- 让它定期运行并以某种方式告诉它下面的 View Controller (5 - 10) 如果下载了新信息
- 有能力在调度程序之外手动执行线程
我可以使用 performSelectorOnMainThread 在 appdelegate 上启动一个方法,但是如何让我的 subview Controller “订阅”appdelegate 上的一个方法?
最佳答案
使用 NSNotificationCenter 你可以很好地发布通知 :D 这样,无需 appDelegate 通知其他类,其他类就可以“订阅”他们需要的通知。
此外,我会保持线程处于事件状态,每次生成一个新线程的成本很高,只有经常生成时才会这样做。我建议使用 GCD ( iOS 4+ )
关于iphone - 从 appdelegate 中的线程跨多个 View Controller 触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784378/