你问错了问题。
首先,让我们区分一个类和一个类的实例。请注意,同一类可能有多个实例,而且确实经常有多个实例。
一个类C
可以是另一个类的子A
类。然后A
是 的超类C
。假设您有一个c
类的实例C
。那么,在类的方法实现中C
,self
代表c
自身super
的实例,代表作为其超类c
的实例的实例A
。从某种意义上说,类的实例C
也是类的实例A
。
对象可以有其他关系,而不是超类或子类。例如,一个类C
可以在其接口中有一个实例变量B* b;
。在这种情况下,该类的一个实例c
有一个指向该类C
实例的 b
指针B
。在这种情况下,c
不是类的实例B
。
与被管对象上下文的关系NSArrayController
是后者之一。的实例NSArrayController
包含指向NSManagedObjectContext
(moc) 实例的指针。
所以你想做的不是得到super
你的NSArrayController
. 相反,您希望将 moc 关联到NSArrayController
. 现在,你怎么得到它?要找到它,您可以在 XCode 中或在 Apple Developer Connection 的 Web 上打开参考,请参阅此处。现在就这样做。通过方法。你找不到给你moc的人。
然后,您转到该页面的顶部,并按照NSArrayController
. 请参阅NSObjectController
. 现在,浏览方法列表。你会发现-[NSObjectController managedObjectContext]
,它的工作!
总之:如果你想要 moc 关联到NSArrayController
,你只需要做
NSManagedObjectContext* moc= [arrayController managedObjectContext];
您要处理arrayController
的实例在哪里。NSArrayController
例如,如果您NSArrayController
在 nib 中有多个 s 实例,您应该IBOutlet
在应用程序委托中有多个 s,例如arrayController1
、arrayController2
等(这些是非常糟糕的变量名称)。然后你选择你要处理的那个。