2011-12-20 38 views
1

我想將RKObjectManager的委託設置爲nil。但我找不到委託屬性。如何將RKObjectManager的委託設置爲零?

我的要求是:

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"getData" 
    objectMapping:[[RKObjectManager sharedManager].mappingProvider 
         objectMappingForKeyPath:@"clips"] delegate:self]; 

更新:有一個在我的應用程序崩潰。我去「剪輯」,並在viewDidLoad發送loadObjectsAtResourcePath。如果我快速離開這個屏幕,我會在[RKResponse連接:didReceiveData:]中崩潰。

+0

RKObjectManager沒有委託。委託被傳遞給RKObjectLoader並進一步傳遞給RKRequest。你想在請求完成之前將委託設置爲'nil'嗎?試着提供更多關於你想達到的信息,也許有更好的方法。 – mja 2011-12-20 11:42:25

+0

是的,我想在請求完成之前將代理設置爲'nil'。 – Voloda2 2011-12-20 11:45:26

+0

我不認爲這是可能的。你能解釋一下你想達到什麼目的嗎?你想以某種方式取消該請求嗎? – mja 2011-12-20 11:51:28

回答

7

崩潰是由您的'委託'對象被釋放引起的。有一個簡單的解決方案來解決你的問題 - 取消所有未決的請求,例如。在你的viewDidUnload(或dealloc,它取決於你的實現)方法。

- (void)viewDidUnload 
{ 
    ... 
    [[[[RKObjectManager sharedManager] client] requestQueue] cancelRequestsWithDelegate:self]; 
    ... 
} 
相關問題