【发布时间】:2013-12-13 13:55:21
【问题描述】:
我尝试将 Cocoa 应用程序的 CGSize 属性的宽度值与界面生成器绑定。
我将“模型键路径”设置为“windowSize”(我的 CGSize 值)并在“值转换器字段”中尝试了不同的值,例如“宽度”或“%{width}@”,但是当我运行应用程序时,它崩溃了这个错误“找不到名称为 {width}@ 的值转换器”
我应该使用哪个变压器?
【问题讨论】:
-
width是结构成员,而不是属性。为了绑定到它,你的类中需要一个符合 KVO 的访问器。 -
“Value Transformer”不采用键、键路径或格式字符串。它采用值转换器的名称(某种 NSValueTransformer 的对象)。如果不存在用于此的值转换器,您可以创建一个 - 但如果这是可编辑的,那么祝您找到将宽度单独转换回大小的方法。
-
@CodaFi:在这种情况下是正确的,但 there are exceptions.
标签: objective-c cocoa binding interface-builder