我知道使用'assign'更好,但如果使用保留更好。
我通过制作 RKRequest 对象来调用 Web 服务。
RKRequest *request = [[RKClient sharedClient] get:urlString delegate:self];
请求对象本身由单例请求队列保留和管理,所以我不关心请求对象,我只关心委托方法。
有方法处理请求结果。
这些代码在 UIViewController 中,而视图控制器本身就是委托。
如果视图控制器在请求处理期间变为dealloc,则RKRequest 调用作为死指针的委托并且程序崩溃。
所以当视图控制器被释放时,我必须保留 RKRequest 并将 nil 分配给委托。
此外,当请求成功或失败时,我必须释放 RKRequest。
但我不认为如果 RKRequest 将委托指针作为“保留”指针,我该如何漂亮地管理这些对象?