有沒有一種方法可以確定/何時操作即將在NSOperationQueue
上啓動/執行? 我正在使用NSURLConnection's
setDelegateQueue:
,我需要知道它何時觸發。操作啓動之前的NSOperationQueue回調?
回答
在您的NSOperation子類中爲willStartBlock添加一個副本屬性。在main的開始處 - 在任何其他操作之前 - 如果已設置,則調用此塊。
通過這種方式,您可以設置在創建操作時以及在將其放入操作隊列之前操作同時開始時執行的操作。
您的具體問題中的問題是您不會創建在您的隊列上創建的操作。您可以嘗試子類NSOperationQueue並重寫三個公共addOperation *方法。如果幸運的話,其中之一就是NSURLConnection用來將回調操作追加到隊列中的一個。
我沒有NSOperation子類。 – 0xSina
閱讀我的所有答案。子類NSOperationQueue。 – Cocoanetics
我可以知道你到底想要做什麼嗎?
我不知道你想達到的,因爲它不是從你的問題不清楚是什麼,但你可以做這樣的事情:
currentConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
if (self.operationQueue) {
[currentConnection setDelegateQueue:self.operationQueue];
}
[currentConnection start];
NSURLConnection的被調用一次啓動方法被調用。 您也可以繼承NSOperation並覆蓋啓動方法。
- 1. NSOperationQueue操作自我
- 2. 如何從NSOperationQueue啓動的線程優化回調
- 3. 將操作添加到隊列時,NSOperationQueue(代理/回調/通知)
- 4. NSOperation和NSOperationQueue回調
- 5. FIrefox操作系統:應用程序崩潰之前的回調
- 6. 在NSOperationQueue中添加操作
- 7. NSOperationQueue和併發操作
- 8. NSOperationQueue取消特定操作
- 9. NSOperationQueue操作filteredArrayUsingPredicate錯誤
- 10. Nsight調試啓動和正常操作系統啓動之間的差異
- 11. 更新模型值之前JSF commandLink操作正在啓動
- 12. 啓動之前的活動
- 13. cakephp在每個數據庫操作之前回調
- 14. 在啓動MapReady回調之前等待數據
- 15. onCreateView啓動之前
- 16. win7啓動之前的dos啓動
- 17. Android:異步任務:doInBackground在動作回調之前返回
- 18. 啓動EC實例::調用RunInstances操作
- 19. Lync啓動之前的LyncClient.GetClient()
- 20. NSOperationQueue和GCD的互操作性
- 21. 在slideUp啓動之後但在完成之前刪除類(回調)
- 22. 之前登錄操作
- 23. Silverlight + RIA服務:如何在另一個調用操作完成之前從一個調用操作返回?
- 24. 在NetBeans重啓之前完成的撤消操作
- 25. 從新的操作之前的可運行調用前一操作調用服務。如何防止這一點?
- 26. - [NSOperationQueue操作]應該不會返回一個空數組?
- 27. 客觀c - 在NSOperationQueue取消操作
- 28. AFNetworking同步操作在NSOperationQueue iPhone上
- 29. NSOperationQueue未運行所有操作
- 30. 枚舉[NSOperationQueue操作]是否安全?
你能在你的NSURLConnection上設置一個委託嗎? –
是的,但是我沒有看到NSURLConnection上的委託方法在連接之前被調用。我發現的最早時間是收到答覆的時候。 – 0xSina