2011-03-31 30 views

Trả lời

12

Bạn muốn +[NSObject cancelPreviousPerformRequestsWithTarget:]. Nếu có nhiều yêu cầu thực hiện đang chờ, điều này sẽ hủy tất cả chúng.

Nếu bạn muốn kiểm soát tốt hơn, bạn có thể sử dụng +[NSObject cancelPreviousPerformRequestsWithTarget:selector:object:]. Mọi thứ khớp với vị từ bị hủy; nếu bạn có nhiều yêu cầu giống hệt nhau đang đợi, không có cơ chế để hủy một yêu cầu duy nhất.

+0

Nếu bạn gọi 'performSelector: afterDelay:' trên chủ đề chính, hãy chắc chắn rằng bạn cũng gọi 'cancelPreviousPerformRequestsWithTarget:' trên chuỗi chính. Nếu không nó sẽ không bị hủy bỏ! – malex

11

Có chắc chắn;

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(startSequence:) object:nil]; 
Các vấn đề liên quan