2013-04-24 51 views
0

如何更新組數組數據庫的新信息,而不是使用舊信息?使用數據庫的新信息更新陣列

所以基本上,我有一個組模型對象。它在另一個視圖中得到更新。

但在我家的表格視圖控制器中,我有以下代碼。

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

這不會更新到數據庫中的新信息。

只有當應用程序重新啓動時,它是否更新數據庫的新信息。

所以它基本上只使用自應用程序啓動以來獲取的信息。

注:這個問題是略有不同,因爲它本來,收集有關問題

+0

你在調用[tableView reloadData]嗎? – rdelmar 2013-04-24 02:17:32

+0

我現在不叫它。當我調用我的tableView變爲空時:P @ rdelmar – GangstaGraham 2013-04-24 02:26:51

+0

嗯......這沒有意義,除非_groups爲零或爲空或者您的表視圖數據源方法的實現有問題。我認爲我們需要看到那些人有任何幫助。你有沒有登錄過_groups? – rdelmar 2013-04-24 02:33:44

回答

1

每當tableViews數據源更新,你需要調用[自我reloadData]更多信息之後。

如果您已經這樣做了,那可能是您通過導航欄後退按鈕返回到tableview控制器。這意味着ViewDidLoad不會再次被調用,因此_groups變量不會被更新。

我會嘗試把你的_groups代碼放在viewDidAppear中,然後在tableView上調用reloadData。如果這樣的話,我會考慮重構你的代碼來使用委託或通知來讓桌面視圖知道數據源被更新

+0

我不是真正使用數據源的時候,我從_groups得到一組數據,然後每個單元給出每個單個組信息的詳細信息,所以是的,我不確定這是否意味着它使用的是數據源。此外,每次都調用viewDidLoad,因爲我有一個自定義導航欄後退按鈕。 viewDidAppear不起作用。 :(不錯,儘管嘗試,我會繼續嘗試找到一個解決方案@RobertWagstaff – GangstaGraham 2013-04-24 02:29:35