我想知道我是否正确管理数组的内存。下面我将这个数组与tableView一起使用,所以我想在ViewController的生命周期中保留它。因为我创建它作为属性我对保留计数以及如何处理它有点困惑,因为我在代码中分配它。以下是我目前编码的方式。
in .h
@property (nonatomic, retain) NSMutableArray *mutableArray;
in .m
self.mutableArray = [NSMutableArray alloc] init];
//fill with object I'm going to be using throughout the life of the viewController
- (void) dealloc {
[mutableArray release];
[super dealloc];
}
谢谢!
答案 0 :(得分:2)
如果您这样做,您将泄漏数组。因为您的属性设置为保留,self.mutableArray = [[NSMutableArray alloc] init];
与mutableArray = [[[NSMutableArray alloc] init] retain];
相同。
所以将其改为
self.mutableArray = [NSMutableArray array];
答案 1 :(得分:0)
iOS将自行进行内存管理。这是Apple Arc Documentation。从Mikeash Friday Q&A blog
还有关于内存管理的精简简明信息