2016-04-02 10 views
-2

Bir UIButton'a basıldığında, rasgele bir 4 görüntü açılmasını istiyorum ancak düğmelerden birine basıldıktan sonra rasgele bir zamanda açılır. Ben Xcode ve swift 2 kullanıyorum. Yardımınız çok değerlidirRastgele zaman Swift

+0

Parmaklarımı tıklattığımda yeni bir bmw penceresi açmak istiyorum ... StackOverflow sizin için kod yazmaz. Ne denedin zaten? –

+0

@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. –

+0

NSTimer hakkında ne anlama geliyor? –

cevap

0

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