以下是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以了解它何时被调用,以及当它被调用时应该做什么.