1
我想了解Swift 4的最新版本 - better KVC。有在操场上打印这个简单的东西了什么Swift 4新KVC
class Foo {
var name: String
init(name: String) {
self.name = name
}
}
class Bar {
var fooObject: Foo = Foo(name: "FooName")
var keyPath = \Foo.name
func output() {
print(fooObject[keyPath: keyPath])
}
}
let bar = Bar()
bar.output()
尽管如此,如果你做一个小的变化,并试图输出这个它的工作原理:
print(fooObject[keyPath: \Foo.name])
有人能解释一下吗?它仍然是越野车,或者我只是在这里做一些愚蠢的事情?谢谢。
将“var keyPath = \ Foo.name”更改为“let keyPath = \ Foo.name”时有时会起作用。无论如何,似乎并不像预期的行为。 – Lausbert
用你的代码创建一个命令行工具项目,Swift编译器以**命令因信号失败而停止:Segmentation fault:11' **。更好地发送bug报告到bugs.swift.org。 – OOPer
是的,当试图在实际项目中使用新的KVC时,我遇到了很多'分段错误:11'。一般来说,这个功能似乎已经完成了50%。 –