这是参考https://stackoverflow.com/a/47765972/8833459。给出以下声明:
let fooPaths: [WritableKeyPathApplicator<Foo>] = [WritableKeyPathApplicator(\Foo.bar), WritableKeyPathApplicator(\Foo.baz)]
是否有一个 init 或其他可以完成的操作,以便以下(或类似的)也可以工作?
let fooPaths: [WritableKeyPathApplicator<Foo>] = [\Foo.bar, \Foo.baz]
原来的说法就是打字太多了!我的“首选”方法目前给出了错误:
error: cannot convert value of type 'WritableKeyPath<Foo, String>' to expected element type 'WritableKeyPathApplicator<Foo>'