objective-c – 为什么要释放已经设置为nil的属性?

前端之家收集整理的这篇文章主要介绍了objective-c – 为什么要释放已经设置为nil的属性?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是Apple教程中视图控制器中的两种方法
- (void)viewDidUnload {
    self.eventsArray = nil;
    self.locationManager = nil;
    self.addButton = nil;
}

- (void)dealloc {
    [managedObjectContext release];
    [eventsArray release];
    [locationManager release];
    [addButton release];
    [super dealloc];
}

dealloc方法不能缩短到以下几点吗?如果没有,为什么不呢?

- (void)dealloc {
    [managedObjectContext release];
    [super dealloc];
}

解决方法

– (void)不能保证调用viewDidUnload,所以你应该总是在dealloc中释放东西.

请参阅this question以了解它何时被调用,以及当它被调用时应该做什么.

猜你在找的C&C++相关文章