2

苹果 说:

NSController 对象的属性。绑定到 NSController 对象时,您可以使用此字段选择键路径中的第一个条目。为方便起见,与此字段关联的菜单显示所选控制器对象上可用的属性。您可以键入属性的名称,或者直接从提供的列表中选择它。

有人可以换句话说解释吗?

4

1 回答 1

1

您正在将视图对象绑定到模型属性。类似于(示意性地):

myTextField.value <=> myModel.textValue.

虽然您可以将视图属性直接绑定到模型对象的属性,如上所示,但您确实不应该这样做。您会错过 Apple 控制器提供的出色功能(例如NSObjectControllerNSArrayController等)。相反,您应该将视图绑定到绑定到模型的控制器,例如:

myTextField.value <=> myObjectController.selection.textValue 
  and 
myObjectController.contentObject <=> myModel

在此设置中,myObjectController.selection 是 myObjectController.contentObject 的键值绑定兼容代理,myObjectController 可以充当视图和模型之间的中介。Interface Builder 使这种关注点分离变得明确,因为控制器可能会为其绑定模型公开多个代理(例如NSArrayController'sarrangedObjectsselectedObjects)。在上例中绑定 myTextField.value 时,您将在“Controller Key”字段中输入“selection”,在“Model Object Keypath”路径字段中输入“textValue”。

于 2009-02-27T22:11:20.813 回答