2012-11-18 7 views
5

Ich bin überrascht, ich kann diese Antwort nicht finden, aber aus irgendeinem Grund kann es nicht für Xcode finden.Wie verzögere ich ein Ereignis in xcode?

In meiner App habe ich eine IBAction buttonPressed und es fügt Münzen zu meiner "Münzen" Variable hinzu und zeigt sie in einem UILabel an. Ich möchte es so machen, wenn der Benutzer den Knopf drückt, fügt es die Münzen nicht hinzu oder zeigt es in der UILabel für ungefähr 30 Sekunden an. Gibt es einen einfachen Weg, dies zu tun? Ich bin ziemlich neu, also bitte, wenn möglich, in einfachen Schritten erklären. Danke :)

Antwort

11

Es ist sehr einfach, nur performSelector: withObject: afterDelay :. Sie würden es in Ihren IBAction-Code wie folgt einfügen:

-(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

Danke für die Hilfe, die ziemlich einfach aussieht. Gerade jetzt habe ich und IBAction in meinem .h erklärt und dann habe ich es in meinem .m mit dem Code darunter. Stelle ich einfach all deinen Code in die .m und behalte meine erklärte Aktion in der .h? Tut mir leid, aber ich bin wirklich neu! : p – Herbie999

+0

@ Herbie999, Sie müssen nichts in der .h-Datei ändern. In der .m-Datei können Sie einfach jeden Code, den Sie in der IBAction haben, in die addCoins-Methode verschieben. – rdelmar

+0

Wo ich verwirrt bin, ist, dass ich eine IBAction buttonPressed in meinem .m habe, werde ich das los und ersetze es durch die IBAction, die du gezeigt hast. Wenn ich es tue, verbinde ich mich nicht mit meinem Knopf. Entschuldigung, ich vermisse etwas? – Herbie999

Verwandte Themen