2013-05-26 28 views
0

我使用RKObjectManager從遠程資源加載對象,並使用tableView來顯示提取的對象。當我的tableView模型被釋放我取消與RestKit - 使用RKObjectManager取消後加載資源路徑

[self.objectManager cancelAllObjectRequestOperationsWithMethod:RKRequestMethodGET matchingPathPattern:self.resourcePath]; 

當前所有的請求。當用戶重新加載視圖,創建一個新的模式 - 而不是從頭開始創建的ObjectManager的,我取的同一個(我保存的ObjectManager在別處的實例)。我試圖在同一個服務/站點上跨應用程序使用單個對象管理器 - 不知道我們是否可以針對同一個持久對象存儲庫使用多個對象管理器?但是,現在對資源路徑的所有請求都會失敗並出現以下錯誤。

restkit.network:RKObjectRequestOperation.m:569 Object request failed: Underlying HTTP request operation failed with error: Error Domain=NSURLErrorDomain Code=-999 "The operation couldn’t be completed. (NSURLErrorDomain error -999.)" 

它看起來像有一次我對取消上的ObjectManager資源路徑,無法通過在稍後的時間點新的請求重新加載資源。最好的做法是取消當前的請求並在以後重新加載?在之前的restkit代理版本中,如果我沒有從對象管理器中刪除模型/視圖作爲委託,我的應用程序會崩潰。我想我應該仍然取消我的要求,以避免這種問題,即使採用新的區塊操作方式?指針/建議非常感謝。謝謝

Regards

George M.P.

回答

0

不確定我們是否可以針對同一持久對象存儲使用多個對象管理器?

沒問題。

當用戶重新加載視圖,創建一個新的模式 - 而不是從頭開始創建的ObjectManager的,我取的同一個...

如果您創建一個新的模式(我猜你的意思是管理對象存儲?),你應該創建一個新的對象管理器來處理它。理論上講,你可以給舊的對象管理器新的商店,但有(或可能)有很多內部緩存可能會失效。

取消,然後重新加載後應該沒問題,問題是你在做什麼與對象存儲之間...