0

所以,你必須UINavigationController的,與具有一個電池更新父表

--------------- 
| paul  > | 
--------------- 

父表,你點擊它,並得到其具有輸入

--------------- 
| name: paul | 
--------------- 
| age: 23  | 
--------------- 
| hair: brown | 
--------------- 
| etc   | 
--------------- 

--------------- 
| save button | 
--------------- 
文本框的畫面

當您將名稱更改爲Steve並按下Save按鈕(彈出視圖)時,如何獲取初始表更新?我正在使用NSUserdefaults來保存和加載。當我彈出到初始視圖時,名稱不會更改。 ...但是,如果我重新啓動應用程序,那麼它就在那裏。

無法確定如何在應用程序運行時更新第一個表格。

回答

2

您可以實現委託模式或發送NSNotification。 爲此,我認爲代碼量大致相同,但由於它是一個viewController與另一個進行通信,所以您應該使用委託。當你實例化(我假設你按照你描述的方式呈現一個modalViewController)新的UIViewController被推入,你設置childViewController的委託爲self(self是父視圖控制器)。然後,在委託協議中的父級實現一個方法。即 - (void)dataChanged:(NSString *)newData。此方法應更新表:

- (void) dataChanged:(NSString*) newData { 

    [self.tableView reloadData]; 
} 

當數據在推的viewController改變它調用[self.delegate dataChanged:newData];

這是蘋果公司用於其成分,因此,如果我只是寫沒有意義的圖案,試着尋找「代表模式」,你很快就會回到正軌:)