大概意思是,我们可以松散地说“将A绑定到B”,然后我们可以说,“A被绑定到B”,这意味着对B所做的更改将自动反映在A中,而无需用户担心设置观察者,但观察者早已自动设置并在B更改时自动通知。
当我们这样做时,我们正在创建一个“binding”。
严格来说,似乎Cocoa和Objective-C将其定义为:对象A的属性foo是一个binding,并且此属性观察对象B的属性bar并随之更改。它是由Observer模式自动实现的,我们不关心它的实现方式,而它应该像黑盒子一样隐藏起来。因此,“binding”实际上意味着“属性”,而不是操作--这个属性观察并与其他属性具有相同的值。
这种binding不仅局限于UI元素绑定到数据,还可以是包含较小UI元素的外部较大UI元素,外部UI元素具有绑定到内部UI元素属性的属性。或者它可以是一个非用户界面数据属性,绑定到另一个非用户界面数据属性。
这就是binding的确切含义吗?那live-binding呢?