你问错了问题。
首先,让我们区分一个类和一个类的实例。请注意,同一类可能有多个实例,而且确实经常有多个实例。
一个类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等(这些是非常糟糕的变量名称)。然后你选择你要处理的那个。