【问题标题】:delegate property assign problem, RestKit RKRequest委托属性分配问题,RestKit RKRequest
【发布时间】:2011-07-29 14:27:57
【问题描述】:

property "assign" and "retain" for delegate

我知道使用“分配”更好,但如果使用保留更好。

我通过创建 RKRequest 对象来调用 Web 服务。

RKRequest *request = [[RKClient sharedClient] get:urlString delegate:self];

请求对象本身由单例请求队列保留和管理,所以我不关心请求对象,我只关心委托方法。

有处理请求结果的方法。


这些代码在 UIViewController 中,视图控制器本身就是委托。

如果视图控制器在请求处理过程中变成了dealloc,RKRequest会调用死指针的delegate并且程序崩溃。

所以当视图控制器解除分配时,我必须保留 RKRequest 并将 nil 分配给委托。

此外,我必须在请求成功或失败时释放 RKRequest。


但我不认为如果 RKRequest 将委托指针作为“保留”指针,我该如何漂亮地管理这些对象?

【问题讨论】:

    标签: objective-c ios delegates restkit


    【解决方案1】:

    只需将以下调用添加到您的控制器 (RKRequestDelegate) 的 dealloc 方法:

    [[RKRequestQueue sharedQueue] cancelRequestsWithDelegate:self];
    

    【讨论】:

    • 啊,我惊呆了!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 2020-09-19
    • 2015-09-02
    • 1970-01-01
    相关资源
    最近更新 更多