在NSTableViewDataSource
方法
func tableView(tableView: NSTableView!, objectValueForTableColumn tableColumn: NSTableColumn!, row: Int) -> AnyObject!
,列的返回结果是本机Swift Bool
类型的值。我希望它在表格视图中显示为true
或false
。但是,它实际上显示为1
或0
。我想它可能已被转换为AnyObject
并成为Obj-C对象。在表格视图中将它们显示为true
或false
的简单方法是什么?
答案 0 :(得分:0)
Objective-C Bool
类型实际上是一个signed char
。
objc.h:typedef signed char BOOL;
objc.h:#define YES ((BOOL)1)
objc.h:#define NO ((BOOL)0)
因此,当您将此作为对象返回时,您实际上会返回一些被转换为NSInteger的内容,这就是为什么它显示0
或1
。
要解决此问题,请修改对象方法以返回
return theBoolValue ? @"true" : @"false"