Скажем, у меня есть эта структура:
struct MyStruct {
let x: Bool
let y: Bool
}
В Swift 4 мы теперь можем получить доступ к его свойствам с помощью интерфейса myStruct[keyPath: \MyStruct.x]
.
Мне нужен способ доступа ко всем ключевым путям, например:
extension MyStruct {
static func getAllKeyPaths() -> [WritableKeyPath<MyStruct, Bool>] {
return [
\MyStruct.x,
\MyStruct.y
]
}
}
Но, очевидно, без необходимости вручную объявлять каждое свойство в массиве.
Как я могу это достичь?