我想使用NSOperationQueue
來實現一些後臺網絡請求。我有幾個不同的請求會被代碼的不同部分添加到隊列中,其中一個會比另一個更頻繁地運行。將NSOperation依賴項添加到已經在NSOperationQueue中的操作
我已經實現了這個使用GCD所以我有代碼塊,因此我打算簡單地使用NSBlockOperation
方法blockOperationWithBlock:^{...}
而不是創建子類NSOperation
。
這個問題是我想創建請求之間的依賴關係。如果這個隊列已經有一個NSBlockOperation
for requestA,那麼當我爲requestB創建NSBlockOperation
時,我想爲它添加一個依賴關係。在同時創建操作時這很簡單,但我找不到一個簡單的方法來確定隊列中已存在的操作。
NSOperationQueue
有一個operations
屬性,所以我可以檢索自己的操作列表,但我如何確定哪個操作是哪個?我沒有看到可以使用的名稱/說明屬性。
我能想到的選項是:
- 子類
NSOperation
創建自定義對象爲每個請求類型,然後使用從operations
屬性檢索的對象自省 - 子類
NSBlockOperation
並添加說明財產
我是否錯過了其他一些明顯的方法來做到這一點?
難道你不能只是讓你的'NSBlockOperation'對象躺在一起,你可以知道哪個是哪個? – mattjgalloway