Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 指定要获取其超链接的对象_Objective C_Cocoa_Xcode_Super - Fatal编程技术网

Objective c 指定要获取其超链接的对象

Objective c 指定要获取其超链接的对象,objective-c,cocoa,xcode,super,Objective C,Cocoa,Xcode,Super,正如标题所说,我想指定一个NSArrayController的super,类似于self=[super[NSArrayController]函数],但没有找到它。有什么想法吗?提前谢谢 编辑删除抽象示例,因为这些示例会让人们对我问题的性质感到困惑 这样做的目的是以编程方式实现从NSArrayController到NSButton的简单“添加”绑定在IB中所能实现的功能。我的应用程序中有多个ArrayController,因此我希望能够通过代码指定要获取super of的控制器 我之所以寻找NSA

正如标题所说,我想指定一个
NSArrayController
的super,类似于
self=[super[NSArrayController]函数]
,但没有找到它。有什么想法吗?提前谢谢

编辑删除抽象示例,因为这些示例会让人们对我问题的性质感到困惑

这样做的目的是以编程方式实现从NSArrayController到NSButton的简单“添加”绑定在IB中所能实现的功能。我的应用程序中有多个ArrayController,因此我希望能够通过代码指定要获取super of的控制器


我之所以寻找NSArrayController的super,是因为我觉得应该解决模型而不是控制器(NSArrayController),我的模型是一个核心数据模型,我相信我可以通过使用我按名称指定的NSArrayController的super来实现。也许有一种更直接的方法可以添加到数据模型中。

您提出了一个错误的问题

首先,让我们区分类的和类的实例。请注意,同一个类可以有多个实例,而且常常有多个实例

一个类
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)实例的指针

因此,您要做的不是获取
NSArrayController
super
。相反,您希望获得与
NSArrayController
关联的moc。现在,你是如何得到它的?要找到它,您可以在XCode中或在Apple Developer Connection的web上打开引用。现在就做。检查一下这些方法。你找不到一个给你moc的

然后,转到该页面的顶部,并跟随超类
NSArrayController
。看见现在,浏览一下方法列表。您可以找到
-[NSObjectController managedObjectContext]
,它完成了这项工作

总之:如果希望moc与
NSArrayController
关联,只需执行以下操作

NSManagedObjectContext* moc= [arrayController managedObjectContext];

其中,
arrayController
是要处理的
NSArrayController
的实例。e、 g.如果nib中有多个
NSArrayController
s实例,则应用程序委托中应该有多个
IBOutlet
s实例,例如,
ArrayController 1
ArrayController 2
,等等(这是非常糟糕的变量名)。然后你选择一个你想处理的

你问错问题了

首先,让我们区分类的和类的实例。请注意,同一个类可以有多个实例,而且常常有多个实例

一个类
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)实例的指针

因此,您要做的不是获取
NSArrayController
super
。相反,您希望获得与
NSArrayController
关联的moc。现在,你是如何得到它的?要找到它,您可以在XCode中或在Apple Developer Connection的web上打开引用。现在就做。检查一下这些方法。你找不到一个给你moc的

然后,转到该页面的顶部,并跟随超类
NSArrayController
。看见现在,浏览一下方法列表。您可以找到
-[NSObjectController managedObjectContext]
,它完成了这项工作

总结:如果你想要moc协会