2010-12-07 24 views
0

嗨 我想使用一個函數,做obj.C中的wait()的工作(不是NSTimer因爲我不想調用任何函數所有我想要的是等待幾秒鐘,然後後對方顯示圖像。任何庫函數,提供等待在目標中的功能c

+0

`wait()`不會做你認爲它做的事。我很確定你真的在談論'sleep()`。 – JeremyP 2010-12-07 13:49:11

回答

3

使用performSelector:withObject:afterDelay:! 等待()將凍結您的應用程序!

2

的wait()是一個功能,如果你不」如果你想要調用一個函數,那麼你不能達到你想要的,或者其他任何東西,但是我想你的意思是你不想讓一個演員最終調用你的類的方法 - 你想要一個直接的,內聯暫停?然後,你可能想要:

[NSThread sleepForTimeInterval:timeInSeconds]; // e.g. 2.0 to sleep 2 seconds 

編輯:雖然,在思想上,我完全同意Benoît。一個完美的程序不應該允許UI線程在任何時候阻塞。

+0

Thanx所有的答覆,我會嘗試的建議 – 2010-12-09 05:27:37

0

這裏的關鍵是「顯示圖像」。如果您嘗試繪製圖像,暫停主線程(ack!),然後嘗試繪製另一個圖像,則無論如何您都不會看到圖像。

所以你需要使用一個NSTimer或performSelector:...延遲:

這些技術讓你的應用程序的主線程返回到運行的循環是必要做任何圖紙都沒有。