-
Notifications
You must be signed in to change notification settings - Fork 93
/
Copy pathContents.swift
110 lines (88 loc) · 2.16 KB
/
Contents.swift
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//: Playground - noun: a place where people can play
import UIKit
// 另外一个应该使用枚举的例子
func season( month: String ) -> String{
switch month{
case "March", "April", "May":
return "Spring"
case "June", "July", "August":
return "Summer"
case "September", "October", "November":
return "Autumn"
case "December", "January", "February":
return "Winter"
default:
return "Not valid"
}
}
season("April")
// 定义枚举类型
enum Month{
case January
case February
case March
case April
case May
case June
case July
case August
case September
case October
case November
case December
}
//let month: Month = Month.April
let month = Month.April
// 使用枚举类型
func season( month: Month ) -> String{
switch month{
case Month.March, Month.April, Month.May:
return "Spring"
case Month.June, Month.July, Month.August:
return "Summer"
case Month.September, Month.October, Month.November:
return "Autumn"
case Month.December, Month.January, Month.February:
return "Winter"
}
}
season(month)
// 枚举类型名Month在一些情况下可以省略 - Type Inference
func season2( month: Month ) -> String{
switch month{
case .March, .April, .May:
return "Spring"
case .June, .July, .August:
return "Summer"
case .September, .October, .November:
return "Autumn"
case .December, .January, .February:
return "Winter"
//default不再需要
}
}
enum Season{
case Spring
case Summer
case Autumn
case Winter
}
enum Season2{
case Spring, Summer, Autumn, Winter
}
enum Month2{
case January, February, March, April, May, June, July, August, September, October, November, December
}
// 返回季节的枚举类型
func season3( month: Month ) -> Season{
switch month{
case .March, .April, .May:
return .Spring
case .June, .July, .August:
return .Summer
case .September, .October, .November:
return .Autumn
case .December, .January, .February:
return .Winter
}
}