NSTimer (ve tüm zor seçici temelli şeyler) gerekmez. o
now: 2016-04-02 07:33:24 +0000 delay: 9
complete: 2016-04-02 07:33:34 +0000
ve 'diğerine gibi bir şey yazdırır gibi basit
import Foundation
import XCPlayground
XCPlaygroundPage.currentPage.needsIndefiniteExecution = true
func delay(delay:Double, closure:()->()) {
dispatch_after(
dispatch_time(
DISPATCH_TIME_NOW,
Int64(delay * Double(NSEC_PER_SEC))
),
dispatch_get_main_queue(), closure)
}
func randomDelay(range: Range<UInt32>, completion:()->()) {
if let first = range.first,
let last = range.last {
let d = arc4random_uniform(last) + first
print("now: ",NSDate(),"delay:",d)
delay(Double(d)) {
completion()
}
}
}
let range:Range<UInt32> = 3..<10
// run this on button press
randomDelay(range) {
// update your image here
print("complete:", NSDate())
}
olarak mat gecikmesi fonksiyonu yardımıyla (yere stackowerflow içinde, ben bağlantı :-) bulmak için tembelim, olabilir '
now: 2016-04-02 07:39:55 +0000 delay: 5
complete: 2016-04-02 07:40:00 +0000
Parmaklarımı tıklattığımda yeni bir bmw penceresi açmak istiyorum ... StackOverflow sizin için kod yazmaz. Ne denedin zaten? –
@LukePark Ark4random_uniform (5) 'e bir değişken ayarlamaya çalıştım ve eğer var sayılardan birine eşitse, karşılık gelen görüntüyü gösterecek, ancak bu rasgele zamana değinmeyecek ve asla NSTimer'i anlamadım. –
NSTimer hakkında ne anlama geliyor? –