swift - 如何访问嵌套在结构中的结构

标签 swift struct nested

我创建了一个结构,其中嵌套了另一个结构,如下所示:

struct Theme {
    var ID: Int
    var name: String
    struct color {
        var tint: String
        var tintDisabled: String
        var accent: String
        var background: String
        var items: [String]
    }
}

我想我可以像这样解决“色调”项目:

aTheme.color.tint

但是 aTheme 没有成员 "color"

我怎样才能得到它?或者这是不行的,我应该使用不同的结构?

最佳答案

您创建的是一个嵌套类型——color 被声明为Theme 类型中的一个类型,因此要创建一个实例color 你会使用这个符号:

let myColor = Theme.color( ... )

我认为您希望 Theme 实例的属性成为 color 实例。为此,您不需要嵌套类型:

struct Color {
    var tint: String
    var tintDisabled: String
    var accent: String
    var background: String
    var items: [String]
}

struct Theme {
    var ID: Int
    var name: String
    var color: Color
}

注意:类型应始终使用首字母大写声明。

关于swift - 如何访问嵌套在结构中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29326331/

相关文章:

c - 在函数中分配内存后为结构赋值

jquery 追加和/或 html ie 动态 html 构建问题

filter - ElasticSearch - 过滤嵌套聚合

objective-c - 将 Obj-c 转换为快速长按手势

从 XIB 文件加载时,Swift 中的 iOS 键盘太宽太高

ios - UIImagePickerControllerDelegate 到 Swift?

c - void 指向结构的指针导致错误 'dereferencing ' void *' pointer'

c++ - 如何将结构与字符串键链接起来?

ruby-on-rails - 如何将默认值合并到 Rails 5 中的嵌套参数中?

swift - ios - 将 MDLAsset 转换为 MDLMesh 时无法打开 OBJ 文件