2010-08-16 82 views
1

我有一個行動,當用戶點擊屏幕上的一個按鈕(例如「導入」)時開始。同時,屏幕底部會出現一個UIToolbar,用戶可以選擇取消該操作。我該如何正確發送取消消息到初始功能?如果用戶點擊「取消」,我不希望「導入」繼續。從理論上講,我可以把它設置爲一個單獨的線程(我可以殺死它),但我不確定什麼是正確的方法來做到這一點,以便它可以自行清理。有什麼其他策略能夠「殺死」用戶已經開始的功能?如何告訴iPhone OS功能停止/取消?

NSOperationQueue* queue = [[[NSOperationQueue alloc] init] autorelease]; 
[queue addOperation: [[[NSInvocationOperation alloc] initWithTarget: self 
     selector: @selector(_backgroundWorker) 
     object: nil] autorelease]]; 

這樣_backgroundWorker將不會停止主UI線程執行:

回答

1

使用像創建一個單獨的操作。

按下一個「取消」按鈕,設置一些內部變量並檢查_backgroundWorker內的值。