2010-11-03 43 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

相關問題