0

したがって、単純なテーブル ビューがあり、列 'Name' は NSArrayController にバインドされています。NSArrayController は Entity タイプで定義され、Person オブジェクトを保持します。XIBファイルの「Prepares content」にチェックを入れました。私のアプリケーションでは、「Network」という管理対象オブジェクトを作成して挿入します。このクラスには、ネットワークから受信したデータを処理するデリゲート メソッドがあります。updateNotificationMethod が呼び出されると、Person 管理オブジェクトを作成し、それを「ネットワーク」の管理オブジェクト コンテキストに挿入します。

上記は魅力のように機能し、問題なくテーブルビューに名前を表示できます。ただし、新しい managedObjectContext を持つスレッドで通知を処理し、メイン スレッドで NSManagedObjectContextDidSaveNotification を処理して変更をメインのマネージド オブジェクト コンテキストにマージすると、テーブル ビューに更新が表示されません。NSArrayController は、マージされた新しい管理対象オブジェクトを認識して表示するべきではありませんか?

ここで何が欠けているかについてのアイデアはありますか?

4

1 に答える 1

1

メイン コンテキストで「Network」を作成し、バックグラウンド スレッドで [network objectID] を使用して選択する場合は、バックグラウンド スレッドに入る前に必ず保存してください。そうしないと、「Network」の objectID が一時的なものになり、最終的に正しいオブジェクトにつながりません。他のすべては私にはうまく見えます。

于 2012-10-19T11:06:17.197 に答える