2010-07-04 92 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