2010-09-14 65 views
0

我對iPhone/ObjC編程相當陌生,不過我有幾年編碼經驗,特別是數據庫開發。新手:如何刷新TabView單元格/觸發器viewWill在TabView中出現?

我選擇了我的處女作該項目旨在支持玩棋盤遊戲,其中一個是做的棋子地位音符需要一個小應用程序。總之,我想用這個應用程序替換筆和紙。

到目前爲止,我已經用TabBar(4個選項卡,因爲有4個玩家)設置了主窗口,每個窗口都連接到ViewController(「FirstViewC」,「SeconcViewC」等),它再次設置NavController。 NavController然後有一個TableViewController作爲第一個子視圖,當選擇一個表項時,DetailViewController作爲子視圖添加到NavController(在didSelectRowAtIndexPath中)。

在這個時間點上,我有一個對象(「PlayingPiece」)與一些特性,這可以在的DetailView進行修改。

現在(最終)這裏是我的問題。 (從操作系統提供的NavBar中的「返回」按鈕),DetailView從子視圖堆棧中自動彈出,並且TableView再次可見。但由於某些原因,PlayPiece值的變化未被反映出來。當我將顯示中的單元格滾動出顯示屏時,將其返回,因爲調用了新的單元格設置,所有內容都會根據需要顯示出來。

很顯然,我需要觸發某種「刷新」我的顯示的表格單元格(或所有這些,我們都在談論10表項最高,因此在這裏沒有性能問題)。我想調用像[self.tableView reloadData],但在TableViewController中不調用「viewWillAppear」和「viewDidAppear」。

我不知道我的整個「控制器層次結構」是否有問題,或者我錯過了某種忘記設置的委託。我保證,我之前在論壇中掃描過幾個主題,但我找不到任何有助於我進一步處理此問題的討論。

如果有任何人與一個建議,任何幫助是極大的讚賞 - 它的駕駛我堅果;-)我使用的是最新的SDK。

馬庫斯

回答

0

我最終認爲(有一些外部幫助),我的控制器設置的結構有些搞砸了。

拋出一個「層」之後,viewWillAppear中發揮預期。

謝謝你的建議,反正 - 我感謝您的支持非常感謝!

Marcus

0

如果您使用的UINavigationController推動和流行的看法控制器,那麼你可能想看看(UINavigationControllerDelegate):

- navigationController:willShowViewController:動畫:

- navigationController:didShowViewController:animated:

+0

嗨內文,謝謝你的回答。你的意思是: - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(布爾)動畫 - 對不起,用NSLog檢查它,它不叫... – MacStrass 2010-09-14 12:09:09

+0

你需要首先爲導航控制器分配一個委託:-) – Nevin 2010-09-15 01:06:46