苹果 说:
NSController 对象的属性。绑定到 NSController 对象时,您可以使用此字段选择键路径中的第一个条目。为方便起见,与此字段关联的菜单显示所选控制器对象上可用的属性。您可以键入属性的名称,或者直接从提供的列表中选择它。
有人可以换句话说解释吗?
苹果 说:
NSController 对象的属性。绑定到 NSController 对象时,您可以使用此字段选择键路径中的第一个条目。为方便起见,与此字段关联的菜单显示所选控制器对象上可用的属性。您可以键入属性的名称,或者直接从提供的列表中选择它。
有人可以换句话说解释吗?
您正在将视图对象绑定到模型属性。类似于(示意性地):
myTextField.value <=> myModel.textValue.
虽然您可以将视图属性直接绑定到模型对象的属性,如上所示,但您确实不应该这样做。您会错过 Apple 控制器提供的出色功能(例如NSObjectController
、NSArrayController
等)。相反,您应该将视图绑定到绑定到模型的控制器,例如:
myTextField.value <=> myObjectController.selection.textValue
and
myObjectController.contentObject <=> myModel
在此设置中,myObjectController.selection 是 myObjectController.contentObject 的键值绑定兼容代理,myObjectController 可以充当视图和模型之间的中介。Interface Builder 使这种关注点分离变得明确,因为控制器可能会为其绑定模型公开多个代理(例如NSArrayController
'sarrangedObjects
和selectedObjects
)。在上例中绑定 myTextField.value 时,您将在“Controller Key”字段中输入“selection”,在“Model Object Keypath”路径字段中输入“textValue”。