我在我的h文件中创建了多个insance
IBOutlet UIImageView *imageView; IBOutlet UIImageView *subImageView;
IBOutlet UIImageView *arrowRight;
IBOutlet UIImageView *arrowLeft;
IBOutlet UIImageView *arrowDown;
我的项目处于ARC模式
我必须在dealloc()方法中将它们设置为nil才能释放它们吗?
由于
答案 0 :(得分:0)
如果在取消分配其中一个对象后不需要全局实例,最好的方法是在nil
中将全局指针设置为dealloc
。
- (void)dealloc {
gYourGlobalPointer = nil;
}
请注意,在ARC中,您无法调用[super dealloc]
,dealloc将自动发送到您的超类。
答案 1 :(得分:0)
你可以在viewDidUnload
中将它们设为零,如下所示:
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
self.myOutlet = nil;
}
答案 2 :(得分:0)
如果要手动释放,则必须为指向特定实例的所有强变量指定nil。