2010-07-04 93 views
1

我该如何在目标c中间循环?例如在.m文件中:目标c循环

#import "untitled.h" 


@implementation untitled 

- (IBAction) runSample:(id)sender { 
(this is running when the button is pressed) 
} 

(Something here that just constantly repeat that won't mess anything else up) 

@end 

任何想法??

Elijah

回答

4

简答题;别。您不想在Mac OS X或iPhone应用程序中主动循环播放。它会烧毁CPU,导致UI无响应,否则效率很低。而你确实不想阻塞任一平台上的主事件循环;在Mac OS X上,当它导致iPhone上的彩虹光标时,你的应用程序将被终止。

偶模态事件循环不是真正的活动循环;它们是严格限制应用处理事件的类型和范围的一种方式。

您可以做的最好的事情是在运行循环中设置自己,以接收您需要的任何事件。如果需要,您也可以使用定时器,但是 - 再次 - 轮询应该被主动避免。

Threaded Programming Guide提供有关运行循环的信息,或者以其他方式进行处理,以免阻塞主事件循环。

+0

好吧,真的很快︰ 我需要检查一个值是否小于5,并且如果它应用程序运行时连续超过5。我会怎么做? – objectiveccoder001 2010-07-04 02:54:31

+0

由于完全缺乏关于谁/触发什么变化或所需延迟的信息,很难说。但是,一般来说,当值发生变化时触发检查。 – bbum 2010-07-04 03:00:08

+0

哦使用controlTextDidChange:? – objectiveccoder001 2010-07-04 03:06:19