Cocoa 为什么要绑定NSProgressIndicator的值?

Cocoa 为什么要绑定NSProgressIndicator的值?,cocoa,cocoa-bindings,Cocoa,Cocoa Bindings,将NSProgressIndicator的值绑定到控制器有什么意义?它似乎从不向控制器询问值,除非是在启动时。移动NprogesIndicator的唯一方法似乎是发送它#increaseBy:,它绕过了我的绑定。那么,我为什么要绑 如果用户界面的绑定值未更新,则意味着绑定失败,或者控制器代码未以符合键值的方式修改绑定值。最常见的问题是执行fooIvar=val而不是[self-setFooIvar:val]或self.fooIvar=val 苹果对你的问题的回答: [如果]以编程方式更改模型属性

将NSProgressIndicator的值绑定到控制器有什么意义?它似乎从不向控制器询问值,除非是在启动时。移动NprogesIndicator的唯一方法似乎是发送它#increaseBy:,它绕过了我的绑定。那么,我为什么要绑

如果用户界面的绑定值未更新,则意味着绑定失败,或者控制器代码未以符合键值的方式修改绑定值。最常见的问题是执行
fooIvar=val
而不是
[self-setFooIvar:val]
self.fooIvar=val

苹果对你的问题的回答:

[如果]以编程方式更改模型属性的值未反映在用户界面中,该怎么办 如果以编程方式对模型值所做的更改未反映在用户界面中,这通常表示模型对象不符合属性的键值观察,或者您正在以绕过键值观察的方式修改该值。你应确保:

  • 模型类已启用自动键值观察,或为属性实现手动键值观察
  • 您正在使用访问器方法或使用符合键值编码的方法更改值。直接更改实例变量的值不会提供键值更改通知
  • 如果模型属性是集合,则表明您正在以符合键值的方式修改内容。有关详细信息,请参阅“”
有关该答案和其他常见问题的答案,请参阅


您还应该看到它们是一种有价值的资源。

如果您的UI的绑定值没有更新,这意味着您要么绑定失败,要么控制器代码没有以符合键值的方式修改绑定值。最常见的问题是执行
fooIvar=val
而不是
[self-setFooIvar:val]
self.fooIvar=val

苹果对你的问题的回答:

[如果]以编程方式更改模型属性的值未反映在用户界面中,该怎么办 如果以编程方式对模型值所做的更改未反映在用户界面中,这通常表示模型对象不符合属性的键值观察,或者您正在以绕过键值观察的方式修改该值。你应确保:

  • 模型类已启用自动键值观察,或为属性实现手动键值观察
  • 您正在使用访问器方法或使用符合键值编码的方法更改值。直接更改实例变量的值不会提供键值更改通知
  • 如果模型属性是集合,则表明您正在以符合键值的方式修改内容。有关详细信息,请参阅“”
有关该答案和其他常见问题的答案,请参阅

你还应该看到它们是一种宝贵的资源