Cocoa 模式
委托模式(Delegate Pattern)
委托(Delegate)、目标对象(Target Object)和块指针(Block Pointer)在会导致循环引用(Retain Cycle)时不应被持有。
为避免导致循环引用,委托或目标指针应在明确不再需要向该对象发送消息时立即释放。
如果没有明确的时间点表明不再需要委托或目标指针,则该指针应仅以弱引用方式持有。
块指针不能以弱引用方式持有。为避免在客户端代码中导致循环引用,块指针仅应在可以在被调用后或不再需要时显式释放的回调中使用。否则,回调应通过弱委托或目标指针完成。
Last updated on