将委托设置为nil以“避免将消息发送到解除分配的实例”

时间:2011-05-29 23:20:22

标签: iphone objective-c

如果你有一个实现委托的视图控制器,那么你应该在它被解除分配时将委托设置为nil吗?我一直收到这条消息。

我不确定说“将代表设置为零”,这是什么意思?有人能给我一个简单的例子来澄清这个吗?

2 个答案:

答案 0 :(得分:1)

在解除分配SomeObject的旧委托之前,你很可能只需要做“SomeObject.delegate = nil”。您能否提供发生此警告的任何代码段?

答案 1 :(得分:1)

在释放控制器之前将委托设置为nil始终是个好主意。

它可能不会立即解除分配,并且可能会意外地回拨您的代码,这些代码可能已经超出范围,也可能没有超出范围 - >崩溃。