2010-02-20 126 views
0

我需要告訴一個uitableview reloadData當另一個視圖發生什麼事情(或者至少這是我認爲我需要做的)我該怎麼做?發送消息的意見

uitableview只是一個uitableviewcontroller對象的IBOutlet。

詳情: 所以我有數據陣列作爲一種數據庫和用戶創建的對象來填充上的TabBar應用的視圖1的數據庫中。視圖2基本上是一個視圖,它顯示了同一個「數據庫」數組中的所有對象。該數組保存在應用程序委託中。

該應用程序將顯示在表視圖上的重新發布更新,但不從圖1的設備上可以觀看2,比方說用戶在視圖創建對象實例後1.

更細節!! !

我剛剛注意到,如果你第一次通過輸入視圖1的數據,然後去查看2你剛添加的數據新數據存在,但如果你在輸入任何數據前去查看2然後去返回查看1視圖2中的UItaableview將不會更新,直到您重新啓動。

感謝

尼克

+0

我認爲你沒有發佈足夠的信息。添加一些關於你在做什麼的更多細節? – 2010-02-20 06:08:28

回答

1

如果在選項卡控制器是設置爲一個IBOutlet一個UITableView屬性的UIViewController,做如下:

- (void)viewWillAppear:(BOOL)animated 
{ 
    [self.tableView reloadData]; 
} 

如果您的視圖控制器是UIT ableViewControllers,那麼他們已經有了tableView屬性並自己執行上述行爲。如果你在UITableViewControllers上創建你自己的tableView屬性,那麼你正在重寫已經存在並且可能會破壞功能的行爲。

+0

哥們,你是男人,完全有效果,我看着你放的方法,我就像是我已經那樣做了,但後來我意識到動畫參數不在那裏,把那個壞男孩放進去,這是工作friggan壯觀!!!你搖滾! – nickthedude 2010-02-20 06:43:15

0

如果你有的UITableViewController對象,只需調用

[theTableViewController.tableView reloadData]; 
+0

我試圖在viewdidload方法中做到這一點,但它沒有奏效,也許我有更大的問題? – nickthedude 2010-02-20 05:58:14

+0

'-viewDidLoad'只會被調用一次,在這種情況下你不需要'-reloadData'。你的意思是'-viewDidAppear:'? – kennytm 2010-02-20 06:22:14

+0

可能,我試過它在viewdidload,viewwillappear,viewdidappear,沒有任何工作, – nickthedude 2010-02-20 06:34:41