Я написал этот код, чтобы использовать таймер внутри View Controller:NSTimer не работает на быстром
var timer:NSTimer!
override func viewDidLoad() {
super.viewDidLoad()
timer = NSTimer(timeInterval: 2, target: self, selector: "goTakingPhoto", userInfo: nil, repeats: false)
timer.fire()
// Do any additional setup after loading the view.
}
func goTakingPhoto(){
// doSomething
}
Но функция goTakingPhoto
вызывается сразу, а не через 2 секунды. Может ли кто-нибудь мне помочь? Большое спасибо.
Там есть альтернативный вариант для вас, если вы просто хотите создать задержку, когда вид нагрузки, 'NSTimer 'скорее всего, перебор. Вы можете использовать ГКД, чтобы добавить задержку без 'NSTimer' накладные расходы: ' dispatch_after (dispatch_time (DISPATCH_TIME_NOW, Int64 (2,0 * Двухместный (NSEC_PER_SEC))), dispatch_get_main_queue()) { self.goTakingPhoto() } ' Он выглядит намного сложнее, чем он есть, и я использую макрос (спасибо [Dash] [1]), поэтому мне не нужно набирать его каждый раз. [1]: https://itunes.apple.com/us/app/dash-3-api-docs-snippets/id449589707?mt=12&uo=4&at=11lMGu –