以编程方式检索NSArrayController的选定对象

时间:2011-10-10 16:33:19

标签: cocoa nsarraycontroller

当我使用NSArrayController实例NSManagedObject时,我的印象是以下内容会为我提供所选对象:

[myArrayController selection]

但是,这给了我一些私有NS Proxy类的实例。

当我使用时:

[[myArrayController selectedObjects] objectAt: 0]

...一切都很好,我有NSManagedObject的实例。

我理解这些方法的必要性,因为您可能有可以进行多项选择的列表。我不明白为什么selection没有给我NSManagedObject的实例。

1 个答案:

答案 0 :(得分:8)

它在NSObjectController(NSArrayController继承)的文档中指出此方法返回一个代理对象。

您将能够在代理对象上使用任何KVC方法,但如果您想要任何特定于类的功能,则必须使用上面示例中的第二种方法。正如您所说,这是在没有或多个选择的情况下返回有效对象。