iPhone中的代理和内存泄漏?
我的ViewController中有一个tableview(即IBOutlet)和tableviewController 我所做的是 //。。。。tableviewController的分配 self.tableview.delegate=tableviewController //现在这增加了tableviewController的保留计数 那么,在解除分配中,我需要将tableview委托设置为nil吗 self.tableview.delegate=nil; 或iPhone中的代理和内存泄漏?,iphone,Iphone,我的ViewController中有一个tableview(即IBOutlet)和tableviewController 我所做的是 //。。。。tableviewController的分配 self.tableview.delegate=tableviewController //现在这增加了tableviewController的保留计数 那么,在解除分配中,我需要将tableview委托设置为nil吗 self.tableview.delegate=nil; 或 self.tablevie
self.tableview=nil;//足以确保tableviewController的保留计数减少1。tableView已在其dealloc方法中重新实现其委托,因此您无需显式将委托设置为零即可。表视图不保留其委托:
@property(nonatomic, assign) id<UITableViewDelegate> delegate
@属性(非原子,赋值)id委托
原因是保留可能会导致保留周期。看见
要使委托保持活动状态,您必须自己在某处维护对它的引用。否,表视图既不保留也不释放其委托。