更改Cocoa绑定中的空占位符?

Mon*_*olo 3 cocoa interface-builder cocoa-bindings

有没有办法在Cocoa的绑定中更改(出于本地化的目的)空占位符?

绑定在Interface Builder中设置为弹出按钮.需要在IB中设置的绑定的双向性质,因此以编程方式执行它并不是真正吸引人的.

我知道处理笔尖文件的本地化的标准方式是通过使每种语言一个,但由于这是在语言版本之间的整个笔尖文件的唯一区别,似乎有点过分了一个字符串.

如果有办法修改在IB中创建的绑定,我正在考虑在文件的所有者的awakeFromNib方法中执行它.

pau*_*kow 5

在绑定到的控制器对象中,例如NSDocument类,覆盖-bind:toObject:withKeyPath:options:.这需要成为该方法调用的目标 - 您在nib中选择Bind to:下的对象.

如果绑定到NSObjectController或NSArrayController,则需要一个子类.

该方法应该重写options字典并调用super,用NSNullPlaceholderBindingOption您的本地化字符串替换值.

我会省略nib中的null占位符和代码中的键值,尽管你当然可以获取该键的传入值并转换它.

  • 这对我来说似乎不起作用.我将我的`NSObjectController`子类化,并且没有调用该方法. (2认同)