Joh*_*lph 3 cocoa delegates objective-c retain
我正在尝试在Objective-C中实现委托模式,但是我有时会在调用委托时遇到Bad Access异常.这似乎是由代表被释放引起的.Apple不建议保留代表.
在尝试发送消息之前,如何检查我的代理是否仍然有效?
如果代表有可能被安装者释放,那么你的设计就会出现问题.您应该只对寿命比委托本身更短的对象设置委托.例如,在子视图/控制器上设置委托是很好的,因为子视图/控制器的寿命比调用者短.
AFAIK,没有可靠的方法来检测对象是否已经被释放.