2012-11-18 32 views
5

Tôi ngạc nhiên vì tôi không thể tìm thấy câu trả lời này nhưng vì một số lý do không thể tìm thấy nó cho Xcode.Làm cách nào để trì hoãn sự kiện trong xcode?

Trong ứng dụng của tôi, tôi có một nút IBActionPress và nó thêm tiền xu vào biến "tiền xu" của tôi và hiển thị nó trong một UILabel. Tôi muốn làm cho nó như vậy khi người dùng nhấn nút nó không thêm tiền xu hoặc hiển thị nó trong UILabel trong khoảng 30 giây. Có một cách đơn giản để làm điều này? Tôi khá mới, vì vậy hãy giải thích trong các bước đơn giản nếu có thể. Cảm ơn bạn :)

Trả lời

11

Rất dễ dàng, chỉ cần sử dụng performSelector: withObject: afterDelay :. Bạn sẽ đặt mã này vào mã IBAction của mình như sau:

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

Cảm ơn sự trợ giúp có vẻ khá thẳng về phía trước. Ngay bây giờ tôi đã tuyên bố và IBAction trong .h của tôi và sau đó tôi có nó trong .m của tôi với mã dưới nó. Tôi chỉ cần đặt tất cả các mã của bạn trong .m và giữ hành động khai báo của tôi trong .h? Xin lỗi nhưng tôi thực sự mới! : p – Herbie999

+0

@ Herbie999, bạn không cần thay đổi bất kỳ thứ gì trong tệp .h. Trong .m, bạn chỉ có thể di chuyển bất kỳ mã nào bạn có trong IBAction ngay bây giờ, vào phương thức addCoins. – rdelmar

+0

Tôi nhầm lẫn là ở chỗ tôi có một nút IBActionPress in my .m để tôi loại bỏ nó và thay thế nó bằng IBAction bạn đã cho thấy. Khi tôi làm điều đó không kết nối với nút của tôi. Xin lỗi tôi đang thiếu một cái gì đó? – Herbie999

Các vấn đề liên quan