2013-05-09 136 views
1

使用Linux時,有兩個簡單的睡眠函數sleep()usleep()Xcode中是否有像sleepWithTimeInterval()這樣的函數?

但是,由於OS X提供了一個有用的計時器數據類型NSTimeInterval作爲double,是否有任何簡單的函數,如sleepWithTimeInterval()或什麼來實現「睡眠」?

如果不是,我應該如何編寫自己的函數或方法來實現它,同時advoid複雜的計算(如最小化浮點數乘法和除法)?

謝謝!!!

回答

1

NSTimer

具體來說,

scheduledTimerWithTimeInterval:invocation:repeats: 

您還可以使用GCD做到這一點。

dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, <A Number> * NSEC_PER_SEC); 
dispatch_after(popTime, dispatch_get_main_queue(), ^someblockCode); 
+0

呵呵,我看了NSTimer的文檔。它提到:「秒數過後,計時器觸發,調用調用。」我不明白「火」是什麼意思。 NSInvocation對我來說是新的。現在仍然在閱讀它... – 2013-05-09 02:07:01

+0

看看我提供的例子,並在最低限度使用它,谷歌將給你不少現實世界的例子 – 2013-05-09 02:40:00

+0

似乎如果我使用NSTimer或GCD,塊或選擇器是必需的。我應該在我的主線程中檢查一些調用sleepWithTimeInterval()的塊標誌變量。我對嗎? – 2013-05-09 03:32:25

相關問題