对象分配和它们的释放
问题描述:
我对对象分配和它在目标中的释放的理解是..这个..如果假设我用alloc init分配了一个对象,那么我需要在它的最后一个引用之后释放它。 像这样....对象分配和它们的释放
MyViewController *myView=[MyViewController alloc ]init];
[self.view presentModalViewController myView animated:YES];
[myView release];
然而,如果假设我需要的NSMutableArray。 和我设置其作为
@property(nonatomic, retain)NSMutableArray *myArr;
和需要通过我的视图控制器此阵列装置例如说....视图具有的UITableView和其数据源是该阵列(myArr,该)。
而应用程序通过Sqlite3拥有其本地数据存储副本。
所以我添加对象到这个数组使用select statemnt的sqlite 3。
,当我需要这个数据每次viewappears,所以我在viewDidAppear 分配这个myArr,该如...
myArr=[NSMutableArray alloc]init];
,我需要增加价值的UITableView中的cellForRowAtIndexPath(每个细胞)的方法。
意味着它的拉斯refernce是的cellForRowAtIndexPath()
所以我的问题是,我应该在哪里释放myArr,该
日Thnx此分配对象advnce
亲切的问候 Pagggyyy
答
我认为适当的地方将是
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
然而,只有当我没有错,这个方法才会被调用一次,我每次都分配视图出现 – user968597 2012-02-13 07:45:17
如果你只是隐藏和显示一个视图,你可以尝试在'viewDidDisappear:'中做它,只要确保你不要尝试访问它而视图不可见 – KillerX 2012-02-13 08:35:47