泛型(Generics) 1、泛型可以將類型參數(shù)化,提高代碼復(fù)用率,減少代碼量 棧 匯編分析泛型的實現(xiàn)原理 通過匯編我們可以看到兩次調(diào)用的swa...
錯誤類型 1、開發(fā)過程常見的錯誤 自定義錯誤 1、Swift中可以通過Error協(xié)議自定義運行時的錯誤信息 2、函數(shù)內(nèi)部通過throw拋出自定義...
Any、AnyObject 1、Swift提供了2種特殊的類型:Any、AnyObject is、as?、as!、as 1、is用來判斷是否為某...
以addWater方法為例講解代碼可讀性的改進方案 前置條件:如果參數(shù)是負值,則組中要有足夠的水量。 后置條件:將添加的水平均分配給該組中的所有...
協(xié)議(Protocol) 1、協(xié)議可以用來定義方法、屬性、下標(biāo)的聲明,協(xié)議可以被枚舉、結(jié)構(gòu)體、類遵守(多個協(xié)議之間用逗號隔開) 2、協(xié)議中定義方...
初始化器 required 用required修飾指定初始化器,表明其所有子類都必須實現(xiàn)該初始化器(通過繼承或者重寫實現(xiàn)) 如果子類重寫了req...
源代碼有兩種不同的用戶:程序員和計算機。一方面,計算機既能處理干凈、結(jié)構(gòu)良好的代碼,也能處理混亂的代碼。另一方面,程序員對代碼的可讀性很敏感。甚...
初始化 初始化器 1、類、結(jié)構(gòu)體、枚舉都可以定義初始化器 2、類有2種初始化器:指定初始化器(deaignated initializer)、便...
多態(tài) 首先看一下結(jié)構(gòu)體的實例方法調(diào)用 看一下匯編 編譯完就能確定最終調(diào)用誰,因為函數(shù)地址是寫死的。 換成class之后我們再來看一下 再看一下匯...