あなたは間違った質問をしている。
まず、クラスとクラスのインスタンスを区別しましょう。同じクラスのインスタンスが複数存在する可能性があり、実際に存在することが多いことに注意してください。
クラスは、別のクラスのサブクラスC
にすることができます。次に、のスーパークラスです。クラスのインスタンスがあるとします。次に、クラスのメソッドの実装では、はそれ自体のインスタンスを表し、のインスタンスをそのスーパークラスのインスタンスとして表します。ある意味で、クラスのインスタンスはクラスのインスタンスでもあります。A
A
C
c
C
C
self
c
super
c
A
C
A
オブジェクトは、スーパークラスまたはサブクラス以外の関係を持つことができます。たとえば、クラスのC
インターフェイスにインスタンス変数を含めることができますB* b;
。この場合、c
クラスのインスタンスには、クラスのインスタンスへのポインタがあり C
ます。この場合、はクラスのインスタンスではありません。b
B
c
B
と管理対象オブジェクトコンテキストの関係NSArrayController
は、後者の1つです。のインスタンスには、 (moc)NSArrayController
のインスタンスへのポインタが含まれています。NSManagedObjectContext
だからあなたがしたいのsuper
はあなたのを取得しないことですNSArrayController
。代わりに、に関連付けられたmocを取得する必要がありNSArrayController
ます。さて、どうやってそれを手に入れますか?それを見つけるには、XCodeまたはWebのAppleDeveloperConnectionでリファレンスを開きます。こちらを参照してください。今それをしなさい。メソッドを実行します。あなたはあなたにモックを与えるものを見つけません。
次に、そのページの上部に移動し、のスーパークラスに従いますNSArrayController
。のこのリファレンスをNSObjectController
参照してください。次に、メソッドのリストを確認します。-[NSObjectController managedObjectContext]
あなたは、仕事をする、を見つけます!
結論:モックをに関連付けたい場合はNSArrayController
、次のことを行う必要があります
NSManagedObjectContext* moc= [arrayController managedObjectContext];
処理したいarrayController
インスタンスはどこにありますか。たとえば、nibにsのNSArrayController
インスタンスが複数ある場合は、アプリデリゲートに複数のsを含める必要があります。たとえば、、など(これは非常に悪い変数名です)。次に、処理したいものを選択します。NSArrayController
IBOutlet
arrayController1
arrayController2