0

これがばかげた質問のように思われる場合は申し訳ありません-私はObjective-CとCocoaに関してはアマチュアであり、コアデータの使用に関してはさらに知識がありません.

状況は次のとおりです。NSTreeController を使用して手動でいくつかの項目を既に入力した NSOutlineView があります。ここで行う必要があるのは、Core Data エンティティの 1 つでアイテムを取得し、それらを NSOutlineView の現在のコンテンツに追加することです。

明らかにこれはバインディングの能力を超えているため、プログラムで行う必要があります。私は何をすべきか?フェッチを実行してから、返されたアイテムを反復処理し、それぞれをアウトライン ビューに追加する必要があると想定しています。これは正しいです?もしそうなら、誰かがこれがどのように行われるかの例を示すことができますか?

ありがとう!

4

1 に答える 1

0

「親」がnil(ルート/トップレベルオブジェクト)であるもののみを取得するNSPredicateを使用してNSFetchRequestを作成します。意味のある属性で並べ替えます(フェッチ結果は順序付けられていないコレクション(NSSet)になるため)。次に、NSOutlineViewDataSourceを実装して、アウトラインに提供されているとおりに適切と思われる情報を混合/混合します。

注意:結果をキャッシュし、変更のコンテキストを観察し、変更ごとにキャッシュを更新することをお勧めします。

于 2010-08-25T11:56:57.257 に答える