我有這樣的代碼如何更快地縮短延遲時間?
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 2 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
我想進一步降低時間爲2似乎太長了,但是當我把1的方法快,我能怎樣改變,所以我必須在時間更多的控制?
謝謝
我有這樣的代碼如何更快地縮短延遲時間?
let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 2 * Int64(NSEC_PER_SEC))
dispatch_after(time, dispatch_get_main_queue()) {
我想進一步降低時間爲2似乎太長了,但是當我把1的方法快,我能怎樣改變,所以我必須在時間更多的控制?
謝謝
您可能拖延秒,你like.For例如1.2S
let time = dispatch_time(DISPATCH_TIME_NOW,Int64(1.2 * Double(NSEC_PER_SEC)))
dispatch_time_t
是UInt64
時間,但在這裏你通過2 * Int64(NSEC_PER_SEC)
第二個參數需要納秒。 NSEC_PER_SEC
這是1_000_000_000的快捷方式。你可以玩這個值來達到你的渴望時間。
例子:
UInt64(1.5 * Float(NSEC_PER_SEC))
NSEC_PER_SEC只是一個定義的值(1十億),這樣你可以乘以之前除以得到控制。最好留在整數值而不是浮點數,因爲它應該更加高效和準確。假設你知道這個值是10的冪,那麼你知道在整數除法中沒有任何10的冪比任何10的冪都少。
這個例子是1200毫秒:
let time = dispatch_time(DISPATCH_TIME_NOW), 1200 * Int64(NSEC_PER_SEC/1000))
同樣你可以簡化和擺在那要直接納秒數,但它可以更容易閱讀在幾秒鐘內,而不是納秒數。
let time = dispatch_time(DISPATCH_TIME_NOW), 1_200_000_000))