2011-12-20 27 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]; 
    ... 
} 
相关问题