原创 Swift學習筆記 (十二) 控制流(分支)

條件語句 根據特定的條件執行特定的代碼通常是十分有用的。當錯誤發生時,你可能想運行額外的代碼;或者,當值太大或太小時,向用戶 顯示一條消息。要實現這些功能,你就需要使用條件語句。 Swift 提供兩種類型的條件語句: if 語句和 swi

原创 Swift學習筆記 (十三) 控制流(流程控制)

控制轉移語句 控制轉移語句改變你代碼的執⾏順序,通過它可以實現代碼的跳轉。Swift 有五種控制轉移語句: continue break fallthrough return throw 我們將會在下面討論 continue 、 brea

原创 Swift學習筆記 (十四) 函數(上)

函數是一段完成特定任務的獨立代碼片段。你可以通過給函數命名來標識某個函數的功能,這個名字可以被用來在需要的候“調 用”這個函數來完成它的任務。 Swift 統一的函數語法非常的靈活,可以用來表示任何函數,包括從最簡單的沒有參數名字的 C

原创 UIViewController如何設置背景色

UIViewController如何設置背景色? 很多人會很快回答: self.view.backgroundColor = UIColor.whiteColor 非常正確,我是離開了公司才知道這樣設置是正確的! 跟我來看一個實際的項目,

原创 Swift學習筆記 (四十二) 不透明類型

具有不透明返回類型的函數或方法會隱藏返回值的類型信息。函數不再提供具體的類型作爲返回類型,⽽是根據它支持的協議來 描述返回值。在處理模塊和調用代碼之間的關係時,隱藏類型信息⾮常有用,因爲返回的底層數據類型仍然可以保持私有。而且 不同於返回

原创 Swift學習筆記 (十五) 函數(下)

忽略參數標籤 如果你不希望爲某個參數添加一個標籤,可以使⽤一個下劃線( _ )來代替⼀個明確的參數標籤。 func someFunction(_ firstParameterName: Int, secondParameterName: 

原创 Swift 設計模式

設計模式可以歸爲一下3類: 創建型(Creational):單例模式(Singeton) 結構型(Structural):MVC、裝飾器模式(Decorator)、適配器模式(Adapter)和外觀模式(Facade)。 行爲型(Beha

原创 Swift 面向協議編程

這些天看了陳剛的《Swift面向協議編程》一書,感覺作爲一個Swift新人很值得一看,他裏面應該講了些WWDC2015和WWDC2016 的東西,我把重點做了下筆記。 數據結構:類、結構體、枚舉 屬性 運算符 點贊 收

原创 語法糖(Syntactic sugar)

語法糖(Syntactic sugar),也譯爲糖衣語法,是由英國計算機科學家彼得·約翰·蘭達(Peter J. Landin)發明的一個術語,指計算機語言中添加的某種語法,這種語法對語言的功能並沒有影響,但是更方便程序員使用。通常來說使

原创 數據結構:類、結構體、枚舉

引用類型 傳遞的是對象的指針,這些指針保存在棧(Stack)上,棧中的對象系統會自動爲我們管理(ARC),這樣我們就不用自己去開闢和釋放 內存空間了,一旦沒有指針指向對象,那麼對象就會馬上被清理掉,這種機制叫做自動引用計數(ARC)。 這

原创 Swift學習筆記 (四十四) 類型

Swift 語⾔存在兩種類型:命名型類型和複合型類型。命名型類型是指定義時可以給定名字的類型。命名型類型包括類、 結構體、 枚舉和協議。比如,一個用戶定義類 MyClass 的實例擁有類型 MyClass 。除了用戶定義的命名型類型, S

原创 Swift學習筆記 (四十一) 高級運算符(下)

優先級和結合性 運算符的優先級使得一些運算符優先於其他運算符;它們會先被執行。 結合性定義了相同優先級的運算符是如何結合的,也就是說,是與左邊結合爲一組,還是與右邊結合爲一組。可以將其理解 爲“它們是與左邊的表達式結合的”,或者“它們是與

原创 Swift學習筆記 (四十) 高級運算符(上)

除了之前介紹過的《基本運算符》,Swift 還提供了數種可以對數值進⾏複雜運算的高級運算符。它們包含了在 C 和 Objective-C 中已經被大家所熟知的位運算符和移位運算符。 與 C 語言中的算術運算符不同,Swift 中的算術運算

原创 Swift學習筆記 (四十三) 詞法結構

關鍵字和標點符號 下⾯這些被保留的關鍵字不允許用作標識符,除非使用反引號轉義,具體描述請參考《標識符》。除了 inout 、 var 以及 let 之外 的關鍵字可以用作某個函數聲明或者函數調用當中的外部參數名,無需添加反引號轉義。當一個

原创 Swift學習筆記 (三十七) 自動引用計數(下)

⽆主引⽤ 和弱引用類似,無主引用不會牢牢保持住引用的實例。和弱引用不同的是,⽆主引用在其他實例有相同或者更長的⽣命週期時使 ⽤。你可以在聲明屬性或者變量時,在前面加上關鍵字 unowned 表示這是一個⽆主引用。 ⽆主引用通常都被期望擁有