總結回顧:趙哲A001系列視頻課程

一、變量常量Variable,Constant

字符串+字符不能直接使用加號,需要使用append

String.append(Character)?

二、字符串String


三、字符Character


四、數組和字典

類型化的集合

數組中如果出現不同類型的內容,則是OC中的數組,不是swift的數組。

1.給數組規定類型 ?

var names: String ( ) = [ "aa","dd","ff" ]

var arr: [Int] = [2,3]

var arr:Array<Int> = [2,3]

var arr = [Int]( )

2.增加數組

var shoppingList = [“松花蛋”,”豆漿"]

shoppingList.append( “啤酒")

shoppingList += [“枸杞”,”香油”,”五香粉"]

3.修改數組中的某個內容

shoppingList[0] = "6顆松花蛋"

4.批量修改數組中連續的內容

shoppingList[3...5] = ["?毛?豆", "?黃?瓜"]

5.增加字典的內容

var numberOfLegs = ["螞蟻": 6, "?小蛇": 0, "?小狗": 4]

numberOfLegs["蜘蛛"] = 273

6.查詢字典中的一個可能值

使用option可能值這個方法

7.給字典規定類型

var numberOfLegs: Dictionary<String, Int> = ["螞蟻": 6, "?小蛇": 0, "?小狗": 4]

var numberOfLegs: [String: Int]= ["螞蟻": 6, "?小蛇": 0, "?小狗": 4]

五、if語句


六、Switch語句

1.注意事項:

無需寫break語句

但是必須寫default語句(必須全面覆蓋,Switch must be exhaustive)

2.常用的使用場景:

switch sender {

? ? ? ? case button:

? ? ? ? ? ? ? ? ? println("有人點了按鈕")?

? ? ? ? ?case usernameTextField:

? ? ? ? ? ? ? ? ? ?println("有人點了用戶名輸入框")

? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? println("有?點到了其它東西")

}

3.可以用逗號分割所有的可能性,無需給每一個可能性寫一個case

switch legCount {

? ? ? ?case 0:

? ? ? ? ? ? ? ?println("蹭蹭蹭")

? ? ? ?case 1, 3, 5, 7, 9, 11, 13:

? ? ? ? ? ? ? ? println("顛顛顛?兒")

? ? ? ?default:

? ? ? ? ? ? ? ? ?println("?走?走?走")

}

4.區間匹配

switch legCount {

? ? ? ? case 0:

? ? ? ? ? ? ? ?println("蹭蹭蹭")

? ? ? ? case 1...8 :

? ? ? ? ? ? ? ? println("顛顛顛?兒")

? ? ? ? default:


? ? ? ? ? ? ? ? println("?走?走?走")

}

七、函數/方法Function

可以帶參數,可以帶多個參數。

參數可以帶默認值。

可以帶返回值。 ->

可以帶多個返回值。(,)小括號,逗號分割多個返回值。

八、元組Tuples

合并在一起的數據結果

元組支持整體加可能

注意:(Int?, Int?) 和 (Int, Int)?的不同

1)(Int?, Int?) 元組肯定有值。元組里的第一個元素有值,第二個元素沒有值;第一個沒有值,第二個有值;第一個有值,第二個也有值;第一個沒有值,第二個也沒有值。

2)(Int, Int)?這個元組可能有值,這個元組也可能沒有值。但是如果這個元組有值,那么元組里的兩個元素是一定有值的。

九、閉包 Closure

無參數無返回值

閉包可作為參數

依附式閉包

十、類 Class

1.屬性 properties

2.方法 methods

3.初始化 initializers

1. 屬性 properties

(1)可以繼承某個類,也可以不繼承。

(2)儲值屬性

(3)算值屬性

當前屬性的值,可以由其他的值算出來。

get {?

}

set {

}

newValue變量訪問新值

(4)自動內存空間分配 Automatic Memory Allocation

(5)初始化

初始化沒有返回值

init ( ) {

? ? ? ?super.init ( )

}

(6)屬性覆蓋

(7)方法覆蓋

(8)屬性觀察

willSet {

// 在這里可以通過 newValue 變量訪問新值

}

didSet {

// 在這里可以通過 oldValue 變量訪問舊值

}

2. 方法 Methods

3.初始化

十一、結構體 Struct

1.

struct 名字 {

}

2.

結構體內可以增加算值屬性,在結構體內部增加方法,對現有數值屬性進行屬性觀察

3.

結構體和類的區別:

1)結構體不可以繼承;類可以繼承。

2)結構體是值傳遞;類是引用值傳遞。

4.

mutating 試圖修改結構體內部的元素值

十二、枚舉 Enumerations

1.

enum 名字:類型 {

}

2. toRaw( ) 獲取枚舉內部的行值

3.行值:可以是Int整型類型,也可以是String字符串類型

4.關聯值

5.初始化方法

6.算值屬性

十三、擴展 Extensions

1.

extension 名字 {

}

十四、一個非泛型化的棧結構的結構體

A Non-Generic Stack Structure

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 3,858評論 0 6
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,885評論 1 10
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,947評論 18 139
  • 渲染: 1 當前屏幕渲染:在GPU的當前屏幕緩沖區中進行的渲染 2 離屏渲染:在GPU當前屏幕緩沖區外另建緩沖區渲...
    adrian920閱讀 401評論 0 0
  • 第一次畫畫 等素描書回來堅持兩三個月素描 等開學來了入手水彩或者彩鉛
    芥末和芒果閱讀 211評論 0 1