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]
\Animal.name 是一个KeyPath,通过 subscript 来获取 Animal 实例的 name 属性值。