离开页面后删除了TableViewCells

时间:2012-03-04 23:39:56

标签: iphone objective-c ios uitableview

我有一个UITableView,如果你愿意,你可以添加/删除单元格。共有3页。第二页允许用户将单元格添加到第三页的表视图中。第一页只是一个导航页面。如果我在表视图中添加任意数量的单元格,我可以在第3页上看到它们!我可以返回第二页,然后返回第3页。细胞仍然在那里,但如果我去第2页,然后是第1页,然后回到桌面视图,所有细胞都消失了!我怎样才能解决这个问题?我浏览页面的代码如下:

-(IBAction)button1:(id)sender{
RootViewController * black = [[BlackFacePlateViewControlller alloc]init];
black.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:black animated:YES];
[black release];
}

- (IBAction)back:(id)sender {
[self dismissModalViewControllerAnimated:YES];
}

提前致谢!

1 个答案:

答案 0 :(得分:1)

Kurt,你不仅要了解iPhone的持久性,还要了解任何系统的持久性。您很可能有一个加载到表中的数组,但是当包含该数组的控制器类被解除时(正如您使用[self dismissModalViewControllerAnimated:YES];那样),则更有可能是dealloc(或者在这种情况下)将在该控制器上调用ARC(对象的大量释放),并将您的数组设置为nil并回收系统。您需要一种存储机制,无论是plist,特定文件格式还是XML,您需要一些方法来检索数据源阵列,即使它已被销毁。

我自己现在是plist路线的大力倡导者,因为它们非常方便和易于使用,并且可以使用绝对大量的数据进行编辑,且副作用很小。