繼續(xù)記錄swift知識點:
1)枚舉
枚舉語法:
enum 枚舉名稱{
case 枚舉1名稱
case 枚舉2名稱
}
** 和 C 和 Objective-C 不同,Swift 的枚舉成員在被創(chuàng)建時不會被賦予一個默認的整型值**
屏幕快照 2017-07-24 下午5.42.36.png
*1相關值是當你在創(chuàng)建一個基于枚舉成員的新常量或變量時才會被設置,并且每次當你這么做得時候,它的值可以是不同的。
*2原始值可以是字符串,字符,或者任何整型值或浮點型值。每個原始值在它的枚舉聲明中必須是唯一的。
在原始值為整數(shù)的枚舉時,不需要顯式的為每一個成員賦值,Swift會自動為你賦值。
例如,當使用整數(shù)作為原始值時,隱式賦值的值依次遞增1。如果第一個值沒有被賦初值,將會被自動置為0。
->
相關值會在使用時自己賦值,暫時沒考慮到使用場景(可能是作為新的數(shù)據(jù)類型存儲數(shù)據(jù),代替oc中mvc中的model?);原始值類似于oc中通常的枚舉類型。
2)結構體
語法格式:
struct 結構體名稱 {
屬性1
屬性2
方法1
}
例子:
例1.
struct studentMarks {
var mark1 = 100
var mark2 = 78
var mark3 = 98
}
let marks = studentMarks()
print("Mark1 是 \(marks.mark1)")
print("Mark2 是 \(marks.mark2)")
print("Mark3 是 \(marks.mark3)")
例2.
struct markStruct{
var mark1: Int
var mark2: Int
var mark3: Int
init(mark1: Int, mark2: Int, mark3: Int){
self.mark1 = mark1
self.mark2 = mark2
self.mark3 = mark3
}
}
print("優(yōu)異成績:")
var marks = markStruct(mark1: 98, mark2: 96, mark3:100)
print(marks.mark1)
print(marks.mark2)
print(marks.mark3)
結構體可以如上例1一樣構建,然后實例化marks 打點調(diào)用屬性。也可如例2一樣,有自己的init方法,實例化時必須調(diào)用實例化方法構建結構體變量,同樣利用打點方法調(diào)用屬性。
同樣貼一張圖方便查找不明白的點。
屏幕快照 2017-07-25 下午3.39.47.png