2014-01-30 88 views
2

我正在執行[self performSelector:@selector(<selctor>) withObject:<object> afterDelay:30];如何唯一標識選擇器?

in循環說每個事件或行動後。

如果操作失敗,我想取消與它關聯的執行選擇器。

我知道

[NSObject cancelPreviousPerformRequestsWithTarget:self 
               selector:@selector(<selector>) 
                object:nil] 

但如何取消特定的所有執行選擇調用循環發言權列表進行選擇。

回答

0

除非獲得某種唯一的引用(如對象指針),否則不能唯一標識每個請求。

另一種方法是使用NSTimer對象來調用選擇器,您可以通過它的invalidate方法在某處存儲並取消選擇。

3

你不能。只是不要使用執行選擇器。相反,使用NSOperation實例添加到隊列中或將NSInvocation實例添加到列表中,並在確定所有測試都通過後執行它們。

+0

你好像是你的標準+1,但是iam使用trojanfoe的答案 – amar