我覺得應該掌握的知識點,沒有實際意義。
- class 和 struct 的區別
- 不通過繼承,程式碼複用(共享)的方式有哪些
- Set 獨有的方法有哪些?
- 實現一個 min 函式,返回兩個元素較小的元素
- map、filter、reduce 的作用
- map 與 flatmap 的區別
- 什麼是 copy on write
- 如何獲取當前程式碼的函式名和行號
- 如何宣告一個只能被類 conform 的 protocol
- guard 使用場景
- defer 使用場景
- String 與 NSString 的關係與區別
- 怎麼獲取一個 String 的長度
- 如何擷取 String 的某段字串
- throws 和 rethrows 的用法與作用
- try? 和 try!是什麼意思
- associatedtype 的作用
- 什麼時候使用 final
- public 和 open 的區別
- 宣告一個只有一個引數沒有返回值閉包的別名
- Self 的使用場景
- dynamic 的作用
- 什麼時候使用 @objc
- Optional(可選型) 是用什麼實現的
- 如何自定義下標獲取
- ?? 的作用
- lazy 的作用
- 一個型別表示選項,可以同時表示有幾個選項選中(類似 UIViewAnimationOptions ),用什麼型別表示
- inout 的作用
- Error 如果要相容 NSError 需要做什麼操作
- 下面的程式碼都用了哪些語法糖
[1, 2, 3].map{ $0 * 2 }複製程式碼
- 什麼是高階函式
- 如何解決引用迴圈
- 下面的程式碼會不會崩潰,說出原因
var mutableArray = [1,2,3] for _ in mutableArray { mutableArray.removeLast() }複製程式碼
- 給集合中元素是字串的型別增加一個擴充套件方法,應該怎麼宣告
- dynamic framework 和 static framework 的區別是什麼
高階
- 一個 Sequence 的索引是不是一定從 0 開始?
- 陣列都實現了哪些協議
- 如何自定義模式匹配
- autoclosure 的作用
- 編譯選項 whole module optmization 優化了什麼
下面程式碼中 mutating 的作用是什麼
struct Person { var name: String { mutating get { return store } } }複製程式碼
- 如何讓自定義物件支援字面量初始化
哲學部分
- 為什麼陣列索引越界會崩潰,而字典用下標取值時 key 沒有對應值的話返回的是 nil 不會崩潰。
- 一個函式的引數型別只要是數字(Int、Float)都可以,要怎麼表示。
歡迎關注我的微博:@沒故事的卓同學