2009-08-21 43 views
0

我將如何使用計時器?例如,我想顯示某個文本10秒鐘,然後我想在剩餘時間內顯示不同的文本。時間? - 可可

感謝,

凱文

回答

5

推遲行動的最簡單方法是使用NSObject中的performSelector:withObject:afterDelay:

- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay 

設置你的文字第一次(或在初始時間),然後做一些事情,如:

[self performSelector:@selector(changeText) withObject:nil afterDelay:10.0]; 

您可以取消該請求:

+ (void)cancelPreviousPerformRequestsWithTarget:(id)aTarget selector:(SEL)aSelector object:(id)anArgument 

,你會需要的,如果你想要做的您的對象被釋放爲performSelector將保留您的對象和withObject參數。

+0

你必須做cancelPreviousPerformRequestWithTarget ...?我從來沒有.. – mk12 2009-08-21 15:18:58

+0

文檔說,performSelector:withObject:afterDelay:保留接收器和withObject。因此,在執行該選擇器之前,您的對象將不會被釋放。 – 2009-08-22 06:08:37

+1

+1用於發佈代碼而不是說RTFM。 – willc2 2009-08-24 22:56:13