Итак, я создаю приложение/игру, в которой вы нажимаете кнопку, соответствующую картинке, до того, как таймер истечет, и вы проиграете. У вас есть 1 секунда, чтобы нажать кнопку, и если вы выберете правильную кнопку, таймер сбрасывается и появляется новое изображение. У меня проблемы со сбросом таймера. Он срабатывает через одну секунду, даже после того, как я пытаюсь сбросить его. Вот код:
loadPicture() запускает viewDidLoad()
func loadPicture() {
//check if repeat picture
secondInt = randomInt
randomInt = Int(arc4random_uniform(24))
if secondInt != randomInt {
pictureName = String(self.PicList[randomInt])
image = UIImage(named: pictureName)
self.picture.image = image
timer.invalidate()
resetTimer()
}
else{
loadPicture()
}
}
и вот метод resetTimer():
func resetTimer(){
timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("gameOverTimer"), userInfo: nil, repeats: false)
}
Я думаю, это может иметь какое-то отношение к NSRunloops? Я не уверен. Честно говоря, я даже не знаю, что такое NSRunloop.
randomInt
, так что при рекурсивном вызовеloadPicture
вы эффективно проверяете, совпадает ли это случайное число с предыдущее случайное число, если это случайное число совпадает с предыдущим изображением, которое отображалось - person Paulw11   schedule 29.07.2015