2012-11-18 17 views
5

Sono sorpreso di non riuscire a trovare questa risposta, ma per qualche motivo non riesco a trovarla per Xcode.Come posso ritardare un evento in xcode?

Nella mia app ho un pulsante IBActionPressato e aggiunge monete alla mia variabile "monete" e lo visualizza in una UILabel. Mi piacerebbe farlo in modo che quando l'utente preme il pulsante non aggiunge le monete o lo visualizza in UILabel per circa 30 secondi. C'è un modo semplice per fare questo? Sono abbastanza nuovo, quindi, per favore, spiegami in semplici passaggi se possibile. Grazie :)

risposta

11

È molto semplice, basta usare performSelector: withObject: afterDelay :. Lo inseriresti nel tuo codice IBAction in questo modo:

-(IBAction)buttonPressed:(UIButton *) sender { 
[self performSelector:@selector(addCoins) withObject:nil afterDelay:30]; 
} 

-(void)addCoins { 
//put whatever code you want to happen after the 30 seconds 
} 
+0

Grazie per l'aiuto che sembra abbastanza semplice. In questo momento ho dichiarato e IBAction nel mio .h e poi ce l'ho nel mio .m con il codice sotto. Inserisco tutto il codice nel file .m e mantieni la mia azione dichiarata nel file .h? Scusa ma sono davvero nuovo! : p – Herbie999

+0

@ Herbie999, non è necessario modificare nulla nel file .h. Nel .m, puoi semplicemente spostare qualsiasi codice che hai in IBAction ora, nel metodo addCoins. – rdelmar

+0

In cui sono confuso è che ho un pulsante IBActionPremuto nel mio .m, mi libero di sostituirlo con l'IBAction che hai mostrato. Quando lo faccio, non si connette al mio pulsante. Scusa mi manchi qualcosa? – Herbie999

Problemi correlati