2016-09-10 3 views
0

J'ai une action de bouton qui envoie des données à Parse. Une fois le bouton enfoncé, le titre devient Annuler. Lorsque vous appuyez sur le bouton "Annuler", les données sont supprimées de Parse. Je voudrais savoir comment annuler automatiquement avec NSTimer après 60 secondes. J'ai un tableau mis en place trop (var isCalling = false)Comment annuler un NSTimer après 60 secondes?

// Function called by within NSTimer in button action 

func refresh(){ 
    self.callButtonTapped(nil) 
    !isCalling 
} 

// Within the button action 

    if error == nil { 
         //Success 
         self.isCalling = true 
         self.callButton.setTitle("Cancel", forState: UIControlState.Normal) 
         self.timer = NSTimer(timeInterval: 60.0, target: self, selector: #selector (self.refresh), userInfo: nil, repeats: false) 
        } 

Répondre

0

Vous devez utiliser NSTimer.scheduledTimerWithTimeInterval, il suffit de remplacer cette ligne:

self.timer = NSTimer(timeInterval: 60.0, target: self, selector: #selector (self.refresh), userInfo: nil, repeats: false) 

avec

self.timer = NSTimer.scheduledTimerWithTimeInterval(60.0, target: self, selector: #selector (self.refresh), userInfo: nil, repeats: false) 

Lire NSTimer Class Reference si vous voulez en savoir plus sur la création de minuteries.

+0

Cela fonctionne maintenant. Je vous remercie! –