2010-11-03 95 views
1

我有一个视图中的tableView是我的MainViewController的子视图。当子视图被加载,我有这个在我的viewDidLoad方法来初始化我的资料表:如何将数据添加到TableView?

NSMutableArray *array = [[NSMutableArray alloc] init]; 

self.listData = array; 
[array release]; 
[super viewDidLoad]; 

然后我用其他的方法来此视图中添加此数据。

然而,当我切换回另一个视图时,再次调出这个视图,它重新初始化数据,擦除我的更改。我该如何解决这个问题?

编辑: 我试图这样做的MainViewController初始化数组:

NSMutableArray *array = [[NSMutableArray alloc] init]; 
HistoryViewController.listData = array; 
[array release]; 

但它说Accessing unknown 'setListData:' class method

+1

不是真不愧是“答案”的,​​但我相信你应该有你的[super xxxx]调用在方法的顶部,EXCEPT用于dealloc(它需要最后一次)。我不认为这会回答你的问题,但这只是我注意到的一种风格,如果你这样做,可能会产生意想不到的后果。 – makdad 2010-11-03 02:48:56

+0

我从来不知道这会有所作为,谢谢你让我知道! :) – 2010-11-03 02:51:40

回答

1

你不应该初始化您的视图阵列做负载

// this is clearing out all of your data 
NSMutableArray *array = [[NSMutableArray alloc] init]; 
self.listData = array; 

没有太多的代码,但我会建议在初始化listData属性,当你初始化的ViewController。

我可能会建议您查看此tutorial here on UITableView,和你上面的代码应该被编辑

HistoryViewController.listData = array; 

应该

self.listData = array; 
+0

当我初始化哪个ViewController?我尝试通过执行我在上面编辑的代码来初始化MainViewController中的数组,但它给了我一个错误。 – 2010-11-03 02:39:27

+0

@willingfamily看到编辑,应该是“self.listData” – 2010-11-03 03:00:39

+0

当你指向另一个类时,你真的可以使用'self'吗? – 2010-11-03 03:09:45