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
新闻热点
疑难解答