【发布时间】: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