gpt4 book ai didi

swift4 - 嵌套类的 KeyPath

转载 作者:行者123 更新时间:2023-12-04 01:50:58 24 4
gpt4 key购买 nike

如何从嵌套类创建 KeyPath?我不知道如何使用反斜杠访问嵌套类。

示例代码:

class Config {
var clients: Array<Client> = [Client()]

// Nested Class
class Client {
public var name: String = "SomeName"
}
}

var conf = Config()

func accessValue<T, U>(
_ keyPath: ReferenceWritableKeyPath<Config, Array<T>>,
valuePath: ReferenceWritableKeyPath<T ,U>) -> Any {

let member: Array<T> = conf[keyPath: keyPath]
let firstMember: T = member.first!

let value = firstMember[keyPath: valuePath]

return value
}

// How should I call this function?
print(accessValue(\Config.clients, valuePath: wanna_know))
// Should print "SomeName"

提前致谢!

最佳答案

嵌套类使用标准点符号按名称引用,因此在您的情况下,嵌套类是 Config.Client .

如您所知,键路径的形式为 \<type name>.<path>所以你正在寻找的路径是 \Config.Client.name .

HTH

关于swift4 - 嵌套类的 KeyPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53131086/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com