0

3 つの ViewController があります。 ここに画像の説明を入力

のは のmanagedObjectContextrootViewController参照managedObjectContextAppDelegateます。のmanagedObjectContextdisplayViewControllerの はmanagedObjectContextの をmanageDataViewController参照しmanagedObjectContextますrootViewController

DisplayViewController'view一部のコントロールに一部のデータを表示します。

これで、新しいデータを追加した後DisplayViewController'view、アプリを再起動しない限り変更されません。

どうして?

4

1 に答える 1

0

ビューを自動更新する場合は、2 つのオプションがあります。簡単な方法は、次のように管理オブジェクト コンテキストにオブザーバーを追加することです。

[[NSNotificationCenter defaultCenter] addObserver:self
                                  selector:@selector(<#Selector name#>)
                                  name: NSManagedObjectContextObjectsDidChangeNotification
                                  object:<#A managed object context#>];

その後、管理対象オブジェクトのコンテキストが変更されるたびにコールバックが返されます。関連する変更を除外するのはあなた次第です。

NSFetchedResultsController を使用することもできますが、これらは実際には UITableViews を対象としており、それ以外にはあまり適していません。

于 2013-05-24T00:30:00.010 に答える