格式化器与值转换器的使用及绑定设置
1. 格式化器的使用
格式化器用于将对象转换为单元格的文本,反之亦然。在处理“Favorite”列时,需要将Cocoa布尔值(如 #<NSCFBoolean true> 和 #<NSCFBoolean false> ,即1和0)转换为字符串“yes”和“no”,并在用户更改时将这些字符串转换回布尔值。
- 布尔值转字符串 :
class BooleanCellFormatter < OSX::NSFormatter
def stringForObjectValue(o)
o == true.to_ns ? "yes" : "no"
end
end
- 字符串转布尔值 :在Objective - C中,将单元格文本转换为对象的方法需要返回三个值(布尔值、字符串和新创建的对象),但Objective - C不允许方法有多个返回值,因此调用方法需要传递两个指向指针的参数。Ruby没有指向指针的概念,RubyCocoa将这样的参数转换为
ObjcPtr。
def getObjectValue_forString_errorDescription(objptr, s, errdesc)
case s.to_ruby.dow
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



