2010-02-20 95 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