我是iphone开发新手。我正在为我的项目使用ARC。据我了解使用ARC我们不必手动发布任何对象。但是,我在某些地方观察到,即使在使用ARC之后,人们也明确地将其对象设置为ViewDidUnload中的零。ARC下的-viewDidUnload中的弱和强属性
例如,在.h文件中我有这样的事情:
@property (unsafe_unretained, nonatomic) IBOutlet MKMapView *mapViewOutlet;
@property (unsafe_unretained, nonatomic) IBOutlet UIToolbar *toolBar;
@property (strong,nonatomic) NSMutableArray *dataArray;
而且.M如下:
- (void)viewDidUnload
{
[self setMapViewOutlet:nil];
[self setToolBar:nil];
[super viewDidUnload];
self.dataArray=nil;
}
我的问题是,是不是真的有必要明确指定为零ViewDidUnload甚至在ARC下?
但是,即使我没有设置为零,系统会自动释放ARC中的内存吗? – Raj
最后,是的。在ARC下创建泄漏很难(呃)。您的决定是否可以在应用程序收到内存警告时通过释放大量内存来帮助系统。 – zoul
好的。我会接受这个答案。 – Raj