2010-01-14 34 views
1

在這個iPhone應用程序中,我試圖做到這一點,當你選擇一個表格單元格時,它會保存該動作,彈出當前視圖控制器並調用前一個視圖控制器(這是並始終是一個TableView)重新加載它的單元格與新的數據。我該如何調用父級TableView來重新加載

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
//update data code here 
[self.navigationController popViewControllerAnimated:TRUE]; 
//Here is where I want the code to reload the view [parentTableView reload]; or something } 

這就是我目前所面對的,當你選擇當前表視圖

回答

6

你需要需要發送-reloadDataUITableView細胞:

[tableView reloadData]; 

編輯:那麼只是爲了澄清,你有一個家長UITableViewController這推動了一個孩子UITableViewControllernavigationController?您示例中的代碼在子視圖控制器中的didSelectRowAtIndexPath中實現?

如果是這種情況,你需要添加一個屬性給你的孩子UITableViewController它存儲一個指向其父對象的指針。確保這不是一個引用計數的屬性,因爲這會導致循環引用。所以在你彈出你的孩子之前,它可以發送-reloadData的tableView它的父母的屬性。

+0

謝謝@NSResponder :)。仍然不完全符合我的Objective-C語言。 – RedBlueThing 2010-01-14 05:52:08

+0

雖然我如何獲得對前一個tabelView的引用?我想要您要重新加載的頁面,而不是您在離開導航堆棧時要離開的頁面。 – Affian 2010-01-14 20:59:09

+0

我通過將目標和選擇器傳遞給作爲回調函數的新視圖來解決它,後來我還能夠使用'NSNotification'來告訴它在新數據可用時進行更新 – Affian 2010-01-25 21:22:54