Swift
中可以使用 KeyPath
来获取属性值,语法为\Type.property.property.....
。
官方给出的示例:
class Animal: NSObject {
@objc var name: String
init(name: String) {
self.name = name
}
}
let llama = Animal(name: "Llama")
let nameAccessor = \Animal.name
let nameCountAccessor = \Animal.name.count
llama[keyPath: nameAccessor]
// "Llama"
llama[keyPath: nameCountAccessor]
// "5"
\Animal.name
是一个KeyPath
,通过 subscript
来获取 Animal</