Swift:KeyPath

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

你可能感兴趣的:(Swift,swift)