わかりました、これが私の質問です。
CoreData + Source List + NSTreeController を使用して、Finder (または必要に応じて iTunes) のソース リストに似たものを作成します。
私の問題は、ソース リストにあるものがすべて CoreData から来ているわけではないということです。たとえば、CoreData を使用して入力される「コア データからのデータ」というセクション (ルート) がありますが、実行時に作成される「偽の」セクション (つまり、「お気に入り」セクション) もいくつかあります。
このため、エンティティを使用して OutlineView と NSTreeController を CoreData に直接バインドすることは実現不可能であり、最初に CoreData からのデータと ad-メンバーの hoc クラス (Apple による「SourceView」の例のように)。これが最初の質問です: (1) これを行うのは正しいですか?
2 番目の質問は、この NSMutableArray に関するものです。この配列を使用することが解決策になる可能性があるとしましょう。どの方法で配列を埋めるのが正しいのか疑問に思っていました。「SourceView」の例では、中間配列は NSTreeController (insertObject:) を使用して実行時に取り込まれますが、別の解決策私が考えていたのは、NSMutableArray をサブクラス化し、配列の内容を直接変更することです。(2) このように MVC を壊していますか?
1 に答える
0
実行時にのみ存在する一時ノードと永続ノードを混在させる 1 つの方法は、persistentStoreCoordinator に NSInMemoryStoreType ストアを追加することです。これを行う方法に関するチュートリアルは次のとおりです。http://simplyhacking.com/source-list-with-core-data.html
于 2013-02-10T11:08:17.253 に答える