天天看點

Swift語言的基礎詳解 - 随緣相識-(志同道合)

Swift語言的基礎詳解

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.數組的用法

Swift語言的基礎詳解 - 随緣相識-(志同道合)

2.1.2.數組的增加、修改與删除元素的值用法

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

2.1.3.數組的周遊

Swift語言的基礎詳解 - 随緣相識-(志同道合)

2.1.4.聲明數組的方法

Swift語言的基礎詳解 - 随緣相識-(志同道合)

2.1.5.字典的聲明與輸出

Swift語言的基礎詳解 - 随緣相識-(志同道合)

2.1.6.字典的添加、修改、删除方法

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

2.1.7.輸出字典的個數count

Swift語言的基礎詳解 - 随緣相識-(志同道合)

2.1.8.字典的周遊方法

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

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)") 

  5. // 輸出 "The status message is Not Found" 

如果你隻需要一部分元組值,分解的時候可以把要忽略的部分用下劃線(_)标記: 

   1. let (justTheStatusCode, _) = http404Error

  2. println("The status code is \(justTheStatusCode)") 

  3. // 輸出 "The status code is 404" 

此外,你還可以通過下标來通路元組中的單個元素,下标從零開始: 

  1. println("The status code is \(http404Error.0)")

  2. // 輸出 "The status code is 404"

  3. println("The status message is \(http404Error.1)")

  4. // 輸出 "The status message is Not Found" 

你可以在定義元組的時候給單個元素命名:

let http200Status = (statusCode: 200, description: ) 

給元組中的元素命名後,你可以通過名字來擷取這些元素的值: 

  1. println("The status code is \(http200Status.statusCode)")

  2. // 輸出 "The status code is 200"

  3. println("The status message is \(http200Status.description)")

  4. // 輸出 "The status message is OK" 

注意:元組在臨時組織值的時候很有用,但是并不适合建立複雜的資料結構。如果你的數 據結構并不是臨時使用,

  請使用類或者結構體而不是元組。請參考類和結構體。 

4.1. 可選類型

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

4.1.1.nil的詳解

Swift語言的基礎詳解 - 随緣相識-(志同道合)

4.1.2.總結 ?的使用場景

  · 聲明Optional變量

  · 用在Optional值操作中,用來判斷是否響應後面的操作

5.1.解包

Swift語言的基礎詳解 - 随緣相識-(志同道合)

5.1.1隐式解包的可選類型

Swift語言的基礎詳解 - 随緣相識-(志同道合)

隐式解包的可選類型例子:

Swift語言的基礎詳解 - 随緣相識-(志同道合)

6.1.Swift基本運算符

Swift語言的基礎詳解 - 随緣相識-(志同道合)

6.1.1.指派運算符

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

6.1.2.數學運算符

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

6.1.3.比較運算符

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

6.1.4.三目運算符

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

6.1.5.範圍運算符

Swift語言的基礎詳解 - 随緣相識-(志同道合)

6.1.6.邏輯運算符

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.字元與字元串

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.1.初始化空的字元串

Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.2.變長字元串

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.3.字元計數

Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.4.組合字元串與字元

Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.5.字元串格式化

Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.6.字元串比較

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.7.字元串大小寫

Swift語言的基礎詳解 - 随緣相識-(志同道合)

7.1.8.字元串編碼

Swift語言的基礎詳解 - 随緣相識-(志同道合)

8.1.流程控制

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

9.1.條件語句

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

9.1.2.區間範圍比對(Range Matching)

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

10.1.函數與閉包

主要内容: ·函數的定義與調用 ·函數參數與傳回值 ·函數參數名稱 ·函數類型

    ·函數嵌套 ·閉包表達式 ·尾随閉包 ·值捕獲  

10.1.2.函數

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

C語言函數指針的寫法

Swift語言的基礎詳解 - 随緣相識-(志同道合)

OC語言的Block寫法

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

·注意:swift語言調用C函數、OC函數時需引入下面的檔案

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

10.1.3.閉包

Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)
Swift語言的基礎詳解 - 随緣相識-(志同道合)

閉包的總結

Swift語言的基礎詳解 - 随緣相識-(志同道合)

哈哈