我保留对example
对象的引用,但我从不使用retain
,new
或copy
。我是否需要释放我不保留的对象?
@interface ExampleViewController : UIViewController
{
IBOutlet UILabel *example;
}
@end
如果我在界面生成器连接UILabel
对象example
,保留计数为两个。但是,当我不连接它时,保留计数为零。我会认为我保留一个参考,并且观点保持另一个参考,因此我需要发布它。你怎么看?
还有两个问题,你已经得到我的接受。 1。)为什么连接到视图给它两个保留计数,而不这样做给我零?和2.)为什么我需要将IBOutlets设置为零? –
你在你的问题中获得了retainCount权利;一个参考是由你,另一个由超级观点。 retainCount从不为零。如果你读了零就意味着该变量为零。释放它之后,您应该始终为零。这就是你知道变量不再指向有效对象的方式。没有这个,你会有一个悬挂指针指向一个不再存在的对象。 – Darren
最后一个问题,所以我必须始终将我的IBOutlet实例变量设置为零,然后才能释放其他对象? –