首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KeyPath到嵌套类

KeyPath到嵌套类
EN

Stack Overflow用户
提问于 2018-11-03 11:58:07
回答 1查看 688关注 0票数 3

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

示例代码:

代码语言:javascript
复制
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"

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-05 05:04:07

使用标准点表示法按名称引用嵌套类,因此在您的示例中,嵌套类是Config.Client

如您所知,密钥路径的形式是\<type name>.<path>,所以您要寻找的路径是\Config.Client.name

HTH

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53131086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档