我已经创建了一个嵌套在其中的另一个结构的结构,如下所示:
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"
。
我怎样才能获得它?或者这只是不行,我应该使用不同的结构?
答案 0 :(得分:15)
您创建的是嵌套类型 - 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
}
注意:应始终使用初始上限声明类型。
答案 1 :(得分:9)
已更新:对于Swift 3.1
,您可以将嵌套类型与Struct
一起使用。
答案 2 :(得分:3)
也许是这样的?
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