1.1.關於swift
· Swift 是一種適用於 iOS 和 OS X 應用的全新程式語言,它建立在最好的 C 和 Objective-C 語言之上,並且沒有 C 語言的相容性限制。Swift 採用安全的程式設計模式,增加了現代功能使 程式設計更容易、更靈活、更有趣。Swift 以成熟且備受寵愛的 Cocoa 和 Cocoa Touch 框架為 支撐,這是一個重新構想軟體開發的機會。
· 支援Playground,它允許程式實時預覽,無需頻繁建立和執行APP
· 簡潔, 安全, 容易, 靈活, 高效
1.2.swift初見
通常來說,程式語言教程中的第一個程式應該在螢幕上列印“Hello, world”。在 Swift 中,可 以用一行程式碼實現:
1. println("hello,world")
注意:為了獲得最好的體驗,在 Xcode 當中使用程式碼預覽功能。程式碼預覽功能可以讓你編輯程式碼並實時看到執行結果。
· 單行註釋
// 單行註釋
· 多行註釋
/*
// 單行註釋
/* 多行註釋,需要注意的是,多行註釋可以巢狀,這點和其他語言不一樣,很實用的一個功能 */
*/
· 分號
· 單個語句後面無需加分號,加了也行
· 多個語句放在一行,需要加分號
1.3.變數與常量
· 變數
· 使用var宣告變數(值可以根據需要不斷修改的量稱為變數)
· 常量
· 使用let宣告變數(值不能夠被二次修改的量稱為常量)
· 型別推導
· 編譯器在編譯的時候,通過提供的初始化值,自動推匯出 特定的表示式的型別
· 注意
· 變數多次賦值的時候需要保證值的型別是相同的
· 顯示宣告型別,語法:"變數:型別"
· swift不會自動給變數賦初始化值,也就是說變數不會有預設值,所以要求在使用變數之前必須要對其初始化
· swift不支援隱士型別轉換,需要顯示型別
· 使用typealias關鍵字定義類型別名,類似typedef
· 字串格式化,使用 \(item)
1.4.命名規則
· swift中可以使用幾乎任何字元來常量和變數名,包括Unicode。但是不能含有數字符號,箭頭,無效的Unicode,橫線—,製表符,
且不能以數字開頭
1.5.整型表現形式
· 二進位制數,字首為 0b
· 八進位制數,字首為 0o
· 十六進位制數,字首為 0x
2.1.陣列與字典
· 使用 [ ] 操作符宣告陣列
· 使用 [ key : value ]操作符宣告字典
2.1.1.陣列的用法
2.1.2.陣列的增加、修改與刪除元素的值用法
2.1.3.陣列的遍歷
2.1.4.宣告陣列的方法
2.1.5.字典的宣告與輸出
2.1.6.字典的新增、修改、刪除方法
2.1.7.輸出字典的個數count
2.1.8.字典的遍歷方法
3.1.元祖
元組(tuples)把多個值組合成一個複合值。元組內的值可以使任意型別,並不要求是相 同類型。
例子: 1. let http404Error = (404, "Not Found")
2. // http404Error 的型別是 (Int, String),值是 (404, "Not Found")
你可以把任意順序的型別組合成一個元組,這個元組可以包含所有型別。只要你想,你可 以建立一個型別為(Int, Int, Int)或者(String, Bool)
或者其他任何你想要的組合的元組。
你可以將一個元組的內容分解(decompose)成單獨的常量和變數,然後你就可以正常使 用它們了:
1. let (statusCode, statusMessage) = http404Error
2. println("The status code is \(statusCode)")
3. // 輸出 "The status code is 404"
4. println("The status message is \(statusMessage)")
如果你只需要一部分元組值,分解的時候可以把要忽略的部分用下劃線(_)標記:
1. let (justTheStatusCode, _) = http404Error
2. println("The status code is \(justTheStatusCode)")
3. // 輸出 "The status code is 404"
此外,你還可以通過下標來訪問元組中的單個元素,下標從零開始:
3. println("The status message is \(http404Error.1)")
let http200Status = (statusCode: 200, description: )
給元組中的元素命名後,你可以通過名字來獲取這些元素的值:
2. // 輸出 "The status code is 200"
3. println("The status message is \(http200Status.description)")
注意:元組在臨時組織值的時候很有用,但是並不適合建立複雜的資料結構。如果你的數 據結構並不是臨時使用,
請使用類或者結構體而不是元組。請參考類和結構體。
4.1. 可選型別
4.1.1.nil的詳解
4.1.2.總結 ?的使用場景
· 宣告Optional變數
· 用在Optional值操作中,用來判斷是否響應後面的操作
5.1.解包
5.1.1隱式解包的可選型別
隱式解包的可選型別例子:
6.1.Swift基本運算子
6.1.1.賦值運算子
6.1.2.數學運算子
6.1.3.比較運算子
6.1.4.三目運算子
6.1.5.範圍運算子
6.1.6.邏輯運算子
7.1.字元與字串
7.1.1.初始化空的字串
7.1.2.變長字串
7.1.3.字元計數
7.1.4.組合字串與字元
7.1.5.字串格式化
7.1.6.字串比較
7.1.7.字串大小寫
7.1.8.字串編碼
8.1.流程控制
9.1.條件語句
9.1.2.區間範圍匹配(Range Matching)
10.1.函式與閉包
主要內容: ·函式的定義與呼叫 ·函式引數與返回值 ·函式引數名稱 ·函式型別
·函式巢狀 ·閉包表示式 ·尾隨閉包 ·值捕獲
10.1.2.函式
C語言函式指標的寫法
OC語言的Block寫法
·注意:swift語言呼叫C函式、OC函式時需引入下面的檔案
10.1.3.閉包
閉包的總結
哈哈