2012-11-18 11 views
5

Jestem zaskoczony, że nie mogę znaleźć tej odpowiedzi, ale z jakiegoś powodu nie mogę jej znaleźć dla Xcode.Jak opóźnić zdarzenie w kodzie X?

W mojej aplikacji mam przycisk IBAction Press i dodaje monety do mojej zmiennej "coins" i wyświetla ją w UILabel. Chciałbym, aby tak było, gdy użytkownik naciśnie przycisk, nie dodaje monet ani nie wyświetla go w UILabel przez około 30 sekund. Czy istnieje prosty sposób na zrobienie tego? Jestem całkiem nowy, więc jeśli to możliwe, proszę wyjaśnić proste kroki. Dziękuję :)

Odpowiedz

11

To bardzo proste, wystarczy użyć performSelector: withObject: afterDelay :. Możesz umieścić go w swoim kodzie IBAction tak:

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

Dzięki za pomoc, która wygląda całkiem prosto. Teraz zadeklarowałem i IBAction w moim .h, a potem mam go w moim .m z kodem pod nim. Czy po prostu umieszczam cały kod w .m i zachowuję zadeklarowaną akcję w .h? Przepraszam, ale jestem naprawdę nowy! : p – Herbie999

+0

@ Herbie999, nie musisz zmieniać niczego w pliku .h. W .m możesz po prostu przenieść dowolny kod z IBAction teraz do metody addCoins. – rdelmar

+0

Gdzie jestem zdezorientowany jest to, że mam przycisk IBAction wciśnięty w moim. M. Pozbyć się tego i zastąpić go IBAction pokazałeś. Kiedy to robię, nie łączy się z moim przyciskiem. Przepraszam, że czegoś brakuje? – Herbie999

Powiązane problemy