Cocoa NSArrayController';声明了什么绑定?

Cocoa NSArrayController';声明了什么绑定?,cocoa,cocoa-bindings,Cocoa,Cocoa Bindings,绑定NSArrayController时,我在控制器内容选项卡下看到以下绑定 内容数组 用于多重选择的内容数组 内容对象 内容集 但是,我在中找不到这些选项,也找不到实际的NSArrayController.h本身。他们来自哪里?它们与arrangedObject属性有何不同 下面的屏幕截图 它们在中,并且没有在任何头文件中公开声明。Xcode对它们的了解被烘焙到Xcode中,可能在它附带的某个插件中 它们与arrangedObject属性有何不同 排列对象(复数)是一个输出。阵列控制器排列

绑定NSArrayController时,我在控制器内容选项卡下看到以下绑定

  • 内容数组
  • 用于多重选择的内容数组
  • 内容对象
  • 内容集
但是,我在中找不到这些选项,也找不到实际的
NSArrayController.h
本身。他们来自哪里?它们与
arrangedObject
属性有何不同

下面的屏幕截图

它们在中,并且没有在任何头文件中公开声明。Xcode对它们的了解被烘焙到Xcode中,可能在它附带的某个插件中

它们与
arrangedObject
属性有何不同

排列对象
(复数)是一个输出。阵列控制器排列其内容对象,其结果是排列的对象

绑定是输入:

  • contentArray
    是主要的,因为它是一个数组控制器
  • contentSet
    是将核心数据绑定到多个关系(即集合)的替代方法。我不确定它是否适用于有序集;当集合未排序时,
    arrangeObjects:
    和清单在
    arrangedObjects
    中使用的顺序由数组控制器的排序描述符确定
  • contentArrayForMultipleSelection
    ,您通常不需要。Cocoa绑定参考中对您确实需要它的情况进行了很好的描述
  • contentObject
    正如CBR所说,是另一个数组控制器。同样,请参阅文档,了解您何时需要它

内容来自一个(或多个)内容绑定,通过
arrangeObjects:
排列(根据阵列控制器可能具有的任何排序描述符),然后在
arrangedObjects

超级清除下以指定顺序提供,明白了!谢谢顺便问一下,有没有一种方法可以声明类中哪些是可绑定的,哪些是不可绑定的?@Tony:没有。您所能做的就是在标题中的注释中(或在单独的文档中)记录它。我认为“exposeBinding”方法可以让Xcode知道它可以绑定到某些东西。@Tony:不。至少在我上次尝试时,Xcode没有检测到来自
exposeBinding:
消息的绑定。(当然,它不知道提供哪些选项,因为这取决于是否/如何实现
bind::