1

我正在寫一個應用程序,從數據庫中提取信息,顯示在表中,並允許用戶通過從表中選擇一個項目獲取詳細信息。每當表更新時,列表中的值都是正確的,但表中顯示的是舊信息(即如果表最初有3個項目,現在有2個項目,表格將顯示原始3項目,但如果用戶試圖點擊第3項)。我的詳細信息視圖出現同樣的問題。如果用戶選擇一個值,該視圖將更改該信息。如果他們導航回來並選擇一個新值,則視圖會更改,但會顯示第一個選擇的信息。我將這兩個屬性歸因於它們出現時不調用viewDidAppear的視圖。我正在使用導航控制器來加載視圖,但他們仍然沒有調用該方法。viewDidAppear沒有被調用後pushViewController

這是我怎麼顯示我的ListView:的UITableViewController

-(IBAction)viewInventoryClicked:(id)sender { 
    [DBHelper getAllBottles:[appDelegate getDBPath]]; 
    if(self.viewList == nil) { 
      //instantiate view 
    } 

    [appDelegate.navigationController viewWillDisappear:YES]; 
    [appDelegate.navigationController pushViewController.self.viewList animated:YES]; 
} 

我DetailsView控件(UIViewController中)以類似的方式顯示。導航控制器駐留在AppDelegate中。主窗口裝有:

[self.window addSubview:navigationController.view]; 
[self.window makeKeyAndVisible]; 

的主窗口和我的ModalView都成功地調用viewDidAppear方法。我完全難以理解爲什麼這兩個人不叫他們。先謝謝您的幫助。

回答

0

我想通了。問題不在於我改變觀點的方式,而在於我的界面設置的方式。我在我的MainWindow.xib中擁有所有的viewControllers,而不是視圖前一個的* .xib。

相關問題