1
スウィフト4 - better KVCへの最新の追加を理解しようとしています。あなたは小さな変更を加えると、出力には、このしようとした場合、それは動作しますが、が、運動場で、このシンプルなものを持つことは、何もスウィフト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コンパイラは** 'シグナルによるコマンドが失敗しました:セグメンテーションフォルト:11' **で停止します。バグレポートをbugs.swift.orgに送ってください。 – OOPer
実際のプロジェクトの中で新しいKVCを試してみると、「Segmentation fault:11」というものがたくさんあります。一般に、この機能は50%完了したようです。 –