如何访问嵌套在结构中的结构
How do I access a struct nested inside a struct
我创建了一个结构,其中嵌套了另一个结构,如下所示:
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]
}
}
我想我可以这样处理 "tint" 项目:
aTheme.color.tint
但是aTheme
没有成员"color"
。
我怎样才能得到它?或者这只是不行,我应该使用不同的结构?
可能是这样的?
struct Theme {
var ID: Int
var name: String
var clor = color()
}
struct color {
var tint: String
var tintDisabled: String
var accent: String
var background: String
var items: [String]
}
然后aTheme.color.tint
你创建的是一个嵌套类型—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 3.1
,您可以使用 Struct
.
的嵌套类型
我创建了一个结构,其中嵌套了另一个结构,如下所示:
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]
}
}
我想我可以这样处理 "tint" 项目:
aTheme.color.tint
但是aTheme
没有成员"color"
。
我怎样才能得到它?或者这只是不行,我应该使用不同的结构?
可能是这样的?
struct Theme {
var ID: Int
var name: String
var clor = color()
}
struct color {
var tint: String
var tintDisabled: String
var accent: String
var background: String
var items: [String]
}
然后aTheme.color.tint
你创建的是一个嵌套类型—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 3.1
,您可以使用 Struct
.