1、枚举是用来表示值的“类型”。
2、定义枚举类型“FamilyRelationshipType”
enum FamilyRelationshipType {
case GrandFather
case GrandMother
case Father
case Mother
case Brother
case Sister
case Son
case Daughter
}
3、使用枚举,指定该成员与其他成员的关系:
struct FamilyMember {
var name: String
var relationshipType: FamilyRelationshipType init(name: String, relationshipType: FamilyRelationshipType) {
self.name = name
self.relationshipType = relationshipType
}
}
let sister = FamilyMember(name: "Jacky", relationshipType: FamilyRelationshipType.Sister)
let brother = FamilyMember(name: "Jack", relationshipType: FamilyRelationshipType
4、指定值定义枚举:
enum FamilyRelationshipType: Int {
case GrandFather = 400
case GrandMother = 500
case Father = 600
case Mother = 700
case Brother = 800
case Sister = 900
case Son = 1000
case Daugther = 1100
}
5、Switch中使用枚举实例:
static func giftFor(member: FamilyMember) -> String {
switch (member.relationshipType) {
case .GrandFather:
return "Book"
case .GrandMother:
return "Sweater"
case .Father:
return "Shirt"
case .Mother:
return "Flowers"
default:
return "Choclates"
}
}
6、Swift 中把每个枚举与它的值联合起来。
enum FamilyRelationshipType {
case GrandFather(age: Int)
case GrandMother(age: Int)
case Father(age: Int)
case Mother(age: Int)
case Husband(age: Int)
case Wife(age: Int)
case Brother(age: Int)
case Sister(age: Int)
case Son(age: Int)
case Daugther(age: Int)
}
完整实例,根据家庭成员的年龄大小来决定具体的礼物:
enum FamilyRelationshipType {
case GrandFather(age: Int)
case GrandMother(age: Int)
case Father(age: Int)
case Mother(age: Int)
case Husband(age: Int)
case Wife(age: Int)
case Brother(age: Int)
case Sister(age: Int)
case Son(age: Int)
case Daugther(age: Int) func gift() -> String {
switch(self) {
case .Brother(let age):
if age > 10 {
return "video games"
} else {
return "toys"
}
case .GrandFather:
return "Book"
case .GrandMother:
return "Sweater"
case .Father:
return "Shirt"
case .Mother:
return "Flowers"
default:
return "Choclates"
}
}
}
struct FamilyMember {
var name: String
var relationshipType: FamilyRelationshipType init(name: String, relationshipType: FamilyRelationshipType) {
self.name = name
self.relationshipType = relationshipType
}
}
至此完整的Swift下的枚举定义使用完成,顺便推荐一下个人ios开发小站http://www.iosask.com