我想在我的struct中创建枚举。我试过了:
struct ProfileTextfieldItem {
var txtfPlaceholder: String
var bottomTxt: String
var modelType : Int
enum modelType {
case phone
case skype
}
}
然后我做了:
let tesEnum = ProfileTextfieldItem(txtfPlaceholder: "o.ivanova", bottomTxt: "Логин Skype", enumType: phone)
然而,编译器并没有让我跑,它说 - 使用未解析的标识符 - 电话。
答案 0 :(得分:2)
而不是这个,这是你应该做的:
struct ProfileTextfieldItem {
var txtfPlaceholder: String
var bottomTxt: String
var modelType: ModelType
enum ModelType {
case phone
case skype
}
}
在Swift中,enum
是类型,它们可以像class
es和struct
一样使用。要创建一个这样的实例,请执行:
let tesEnum = ProfileTextfieldItem(txtfPlaceholder: "o.ivanova", bottomTxt: "Логин Skype", modelType: .phone)
请注意,第三个参数前面有.
,称为modelType
,而不是enumType
。
答案 1 :(得分:1)
您应该像这样定义结构:
struct ProfileTextfieldItem {
var txtfPlaceholder: String
var bottomTxt: String
var modelType : ModelType
enum ModelType {
case phone
case skype
}
}
并初始化var tesEnum,如下所示:
let tesEnum = ProfileTextfieldItem(txtfPlaceholder: "o.ivanova", bottomTxt: "Логин Skype", modelType: .phone)