文档使它看起来就像这样简单:
var tc = NSTableColumn(identifier: "mycolumn")
tc.headerCell.stStringValue("foo")
最后一行代码是编译错误,我不明白。最重要的是,根据 XCode 的心情,我会为这行完全相同的代码收到几条不同的编译错误消息。我看到了以下编译错误:
- AnyObject 没有名为“stStringValue”的成员
- 无法将表达式的类型“NSString”转换为类型“StringLiteralConvertible”
尝试设置变量并将其放入其中时,我得到了这个:
- 无法将表达式的类型“字符串”转换为类型“字符串?!”
当我尝试"foo \(bar)"
变体时,我得到了这个:
- 找不到成员“convertFromStringInterpolationSegment”
String?!
如果我声明一个类型为它的变量,那就够搞笑了Cannot convert the expression's type 'String?!' to type 'String?!'
我不明白发生了什么事。这是一个错误吗?
如果我在操场上尝试这个,操场实际上想用一个额外的参数自动完成,这种格式:
tc.headerCell.setStringValue("foo", resolvingEntities: false)
这没有编译时错误,但会导致运行时出现段错误。这种格式也不在文档中。
我真的不知道发生了什么,错误消息也没有帮助。