標籤:
迴圈OC風格的
for
Swift風格的
for
- 階段性小結
Swift
中使用 in
關鍵字標示迴圈的範圍
0..<10
表示從0到9
0...10
表示從0到10
- 注意之間不能出現空格
特殊寫法
- 階段性小結
- 如果不關心迴圈本身的索引,可以使用
_
忽略
- 這一技巧在之前的分支演練中出現過
字串
在 Swift 中絕大多數的情況下,推薦使用 String 類型
使用
String
的原因
String
是一個結構體,效能更高
String
目前具有了絕大多數 NSString 的功能
String
支援直接遍曆
NSString
是一個 OC
對象,效能略差
Swift
提供了 String
和 NSString
之間的無縫轉換
遍曆字串
字串拼接
- 階段性小結
- 直接在
""
中使用 \(變數名)
的方式可以快速拼接字串
- 我和我的小夥伴再也不要考慮
stringWithFormat
了 :D
格式化字串
- 階段性小結
- 在實際開發中,如果需要指定字串格式,可以使用
String(format:...)
的方式
- 注意:後面的參數需要放在一個數組中
String & Range 的結合
以下是超級費勁的代碼
建議寫法
數組簡單體驗
// 像 OC 一樣列印println(arr as NSArray)
數組中儲存的物件類型
- 階段性小結
- 數組使用 [] 定義,這一點與 OC 相同
- 如果初始化時,所有內容類型一致,擇數組中儲存的是該類型的內容
- 如果初始化時,所有內容類型不一致,擇數組中儲存的是
NSObject
常見數組操作
- 階段性小結
- 如果定義數組時指定了儲存對象的類型,擇不能向數組中添加其他類型的內容
- 可以使用
[String]()
let
定義的數組是不可變的
var
定義的數組是可變的
字典
函數簡單演練
- 階段性小結
- 函數定義格式:
func 函數名(參數: 參數類型...) -> 傳回值 { // 代碼實現 }
- 如果沒有傳回值,
-> 傳回值
可以省略
->
是一個很有意思的符號
- 預設情況下,在調用函數時,第一個參數名是省略的
參數名的特殊處理強制要求參數名
省略參數名
閉包的循環參考
懶載入
getter & setter自訂 Person 類
getter & setter
- 在
Swift
中以上形式的 getter & setter 很少用
didSet
- 在 OC 中,我們通常希望在給某一個變數賦值之後,去做一些額外的操作
- 最經典的應用就是在自訂 Cell 的時候,通過模型的設定方法完成 Cell 的填充
計算型屬性
- 只實現
getter
方法的屬性被稱為計算型屬性,等同於 OC 中的 ReadOnly
屬性
- 計算型屬性本身不佔用記憶體空間
- 不可以給計算型屬性設定數值
- 計算型屬性可以使用以下代碼簡寫
建構函式
解構函式
swift—初始 (3)