使用数据库的新信息更新数组

时间:2013-04-24 02:03:46

标签: iphone ios objective-c cocoa-touch uitableview

如何更新群组数组数据库的新信息,而不是使用旧信息?

基本上,我有一个Group模型对象。它会在另一个视图中更新。

但是在我的主表视图控制器中,我有以下代码。

NSArray *sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"dateAdded" ascending:NO]];
_groups = [NSMutableArray arrayWithArray:[[[GGUser groups] allObjects] sortedArrayUsingDescriptors:sortDescriptors]];

这不会更新到数据库中的新信息。

仅在重新启动应用时,会使用数据库的新信息进行更新。

所以它基本上只使用自应用启动以来获得的信息。

注意:在收集有关问题的更多信息之后,这个问题与最初的问题略有不同

1 个答案:

答案 0 :(得分:1)

每当更新tableViews数据源时,您需要调用[self reloadData]。

如果您已经这样做,可能是您通过导航栏后退按钮返回到tableview控制器。这意味着不再调用ViewDidLoad,因此_groups变量不会更新。

我会尝试将您的_groups代码放在viewDidAppear中,然后在tableView上调用reloadData。如果可行,我会考虑重构您的代码以使用委托或通知让tableview知道数据源已更新