因此,当按下UIButton时,我想要弹出一个随机的4个图像,但我想在按下按钮后随机弹出一个图像。我正在使用Xcode和swift 2.非常感谢您的帮助
答案 0 :(得分:0)
你根本不需要NSTimer(以及所有棘手的选择器)。借助matt的延迟功能(在stackowerflow中的某个地方,我懒得找到链接:-),它可以像
一样简单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())
}
打印类似
的内容now: 2016-04-02 07:33:24 +0000 delay: 9
complete: 2016-04-02 07:33:34 +0000
和另一个'按'
now: 2016-04-02 07:39:55 +0000 delay: 5
complete: 2016-04-02 07:40:00 +0000