Iphone NSTimer并在主线程上执行选择器

Iphone NSTimer并在主线程上执行选择器,iphone,Iphone,是否可以在主线程上运行nstimer调用的选择器 NSTimer在它自己的线程中生成 我的结构是,一个线程用一个nstimer调用一个方法,nstimer调用一个进行一些更新的方法,但我需要这些更新在主线程上发生。解决办法是什么?添加另一个方法并说performOnMainThread?是,从计时器例程调用use performOnMainThread即可。从文档中: 计时器与run一起工作 循环。要有效地使用计时器,您需要 应该知道如何运行循环 操作请参见nsrunlop和Threading

是否可以在主线程上运行nstimer调用的选择器

NSTimer在它自己的线程中生成


我的结构是,一个线程用一个nstimer调用一个方法,nstimer调用一个进行一些更新的方法,但我需要这些更新在主线程上发生。解决办法是什么?添加另一个方法并说
performOnMainThread

是,从计时器例程调用use performOnMainThread即可。从文档中:

计时器与run一起工作 循环。要有效地使用计时器,您需要 应该知道如何运行循环 操作请参见nsrunlop和Threading 编程指南。特别注意 运行循环保留其计时器,因此 您可以在完成后释放计时器 将其添加到运行循环中

还有一个关于使重复计时器无效的警告:

对于重复计时器,您必须 自行使计时器对象无效 通过调用其invalidate方法。 调用此方法会请求 从电流表中移除计时器 运行循环;因此,你应该 始终从调用invalidate方法 计时器所在的线程 安装