Comment faire pour réinitialiser NSTimer? code swift

Je suis donc la création d'une application/jeu où vous appuyez sur une touche correspondant à une image avant le temps s'épuise et que vous perdez. Vous obtenez 1 seconde appuyez sur le bouton, et si vous choisissez la droite, puis sur le bouton de la minuterie se réinitialise et une nouvelle image. Je vais avoir de la difficulté à mettre à zéro la minuterie. Il se déclenche au bout d'une seconde, même après que j'ai tenter de le réinitialiser. Voici le code:

loadPicture() s'enfuit 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()
    }
}

et voici le resetTimer() méthode:

func resetTimer(){
        timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("gameOverTimer"), userInfo: nil, repeats: false)

}

Je pense qu'il peut avoir quelque chose à voir avec NSRunloops? Je ne suis pas sûr. Je ne sais même pas ce qu'est un NSRunloop est d'être honnête.

Je ne suis pas sûr de savoir pourquoi le minuteur de cuisson après l'invalider, mais vous avez un bug dans votre récursivité qui vérifie la présence de doublons - Vous d'écraser randomInt de sorte que lors de l'appel récursif à loadPicture vous sont effectivement vérifier si ce nombre aléatoire est la même que la précédente nombre aléatoire, pas si ce nombre aléatoire est la même que l'image précédente qui était affiché
dans loadPicture() avant resetTimer() de la ligne d'écriture timer = néant . . .
Juste assurez-vous, êtes-vous de la création de la minuterie dans le même thread? deuxièmement, avez-vous essayer d'augmenter le temps de dire 5 secondes?
Paulw11, Il n'y a pas de bug. Le randomInt représente l'index de l'image dans le tableau. Si l'int est le même, l'image est la même aussi.
iHart, qui ne fonctionne pas 🙁

OriginalL'auteur Luke Patterson | 2015-07-29