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
新聞熱點
疑難解答