|
1
4
简短回答:是的。 不管您是否使用了Interface Builder,当委托对象放弃对委托对象的所有权(即释放)时,委托将自己作为委托对象的委托删除是一种良好的做法。这最迟可以在其dealloc方法中进行,但也可以在早期发生。 原因:通常,委托是委托对象的某种父对象。通常,委托对象的委托和所有者是同一个对象。因为父对象通常保留子对象,为了避免循环引用,委托(即子对象)对象通常不保留其委托。在这些情况下,委托对象可能会在委托对象仍处于活动状态时(如果其他对象也保留了它)被释放。如果委托对象现在试图访问其委托(不再存在),程序可能会崩溃。
因此,在父对象释放其子对象之前(通常,但不总是,在其dealloc方法中),它应该调用
|
|
|
KanKonga · 为什么这个swift代码没有显示在文本字段中? 3 年前 |
|
|
Community wiki · 目标的Xcode构建阶段的自动更新? 3 年前 |
|
|
Anton Timonin · 如何正确地将动态pod库更改为静态? 3 年前 |
|
|
Igor · 在OSX中,捆绑包的用户首选项在哪里? 3 年前 |
|
|
narner · 从Swift包创建Cocoapods框架 3 年前 |