原创 Swift學習筆記7——閉包(Closures)

其實這個閉包可以看做是匿名的函數。 我們先來回想一下函數作爲參數的情況 //定義一個函數,它最後的參數是一個函數類型 func doMath(first: Int, second: Int, mathFunc: (Int, Int) -

原创 Swift學習筆記15——初始化(Initialization)和析構(Deinitialization)其二

可失敗的構造器(Failable Initializers) Swift中有個概念,就是創建實例的時候如果條件不符合,可以返回一個nil對象。這類可以返回nil的構造器叫做可失敗的構造器。語法是在init的前面加上一個?。當條件不滿足的時

原创 Swift學習筆記6——函數(Function)

Swift的函數和C的函數定義方式有些區別,它是將返回類型寫在函數的最後。一般定義函數的語法如下 func函數名 (參數列表) -> 返回值 {        //函數體 } 舉一個例子,這個函數輸入一個字符串,然後打印出這個字符串,並且

原创 Swift學習筆記16——自動引用計數(Automatic Reference Counting)

       對於類實例,它可能存在被多個變量引用的情況。如果在還有變量引用的情況下釋放了改實例的話,那麼其他變量再嘗試訪問這個實例的方法或屬性的時候,程序就會崩潰。所以必須確保在以後都沒有變量使用這個實例的情況下,才能去釋放這個實例。對

原创 Swift學習筆記9——類和結構體(Classes and Structures)

Swift中,類和結構體是很相近的。所有下面類和結構體的實例都統稱爲實例。不再單獨爲類的實例稱爲對象。 和C或OC,不同,swift的類只寫在一個文件裏面。這點和java一樣。 類和結構體的共同點: 1、能定義屬性用來存儲值 2、能定義

原创 Swift學習筆記8——枚舉類(Enumerations)

這裏爲啥要叫枚舉類而不是枚舉類型呢?因爲Swift中的枚舉和C中的枚舉很不一樣。它已經可以看成一個類,可以看成一個類,可以看成一個類。重要的事情說三遍。此外,它是值傳遞! 在C中,枚舉類型中的每一項都整形,然而在Swift中,你不必爲每一

原创 Swift學習筆記21——錯誤處理(Error Handling)

Swift的錯誤處理是用來處理運行時錯誤的。 當錯誤發生時,你可以選擇抓錯誤,或者繼續往上拋出錯誤。當一個運行時錯誤最終沒辦法處理的時候,程序就會崩潰。 Swift中有一個空的協議用來給用戶自定義錯誤。一般使用枚舉類實現這個協議來自定義錯

原创 Swift學習筆記13——類繼承(Inheritance)

繼承是類獨有的,結構體和枚舉類都不具有這個功能。 繼承就好像子承父業一樣,一個繼承的類(稱爲子類subClass)可以獲得被繼承的類(稱爲父類superClass)的屬性,方法和其他特性。 子類可以重寫父類的方法,也可以添加自己的屬性,還

原创 Swift學習筆記18——嵌套類型(Nested Types)和類型轉換(Type Casting)

嵌套類型(Nested Types) 這個概念就是把一個類(結構體、枚舉類)的定義放到一個類類(結構體、枚舉類)的裏面。 這個嵌套可以隨便嵌套。可以在結構體裏面定義類,類裏面定義枚舉類,枚舉類裏面定義結構體等等。 隨便一個沒意思的例子,訪

原创 Swift學習筆記5——流程控制語句

請跳轉到Swift4 點擊打開鏈接 if else語句 if語句和其他語言中的使用是一樣的,只是語法稍有不同。首先是不用括號,其次是即使是if後面只有一條語句,也必須加上大括號。 var array1 = ["a","b","c"]

原创 Swift學習筆記12——下標(Subscripts)

所謂的下標,就是[]。在Array和Dictionary的時候就已經接觸過了。它其實算一種特殊的方法,利用下標,我們可以將屬性的getter和setter寫在一起。而且還可以提供另外的一些功能。 還記得String截串的時候無比麻煩嗎?利

原创 Swift2學習筆記3——String和Character

請移步到更新的文章,更新到Swift4 點擊打開鏈接 爲啥String和Character要單獨拿出來講呢?因爲和C區別蠻大的,而且經常用到。感覺Swift的String還是沒有Java的String好用。比如截串就是個麻煩的事情。以後

原创 Swift學習筆記10——屬性(Properties)

Swift中,屬性大致分爲兩種,一種叫存儲屬性,一種叫計算屬性。 所謂的存儲屬性,就是能保存數據的屬性。枚舉類、結構體、類都具有存儲屬性。 計算屬性就是它本身不保存數據,而是通過處理其他的數據得到返回值。 結構體和類才具有計算屬性。 存儲

原创 Swift學習筆試19——擴展(Extension)

Swift中的擴展就是OC中的分類。但是這裏的擴展可以對類、結構體、枚舉類進行添加。使用擴展,我們可以在不接觸源代碼的前提下,對已有的代碼進行功能上的添加。 Swift中的擴展提供的一些功能: 1、添加計算屬性或類計算屬性,但是不能添加存

原创 Swift學習筆記2——基本類型和基本運算

基本類型 其實和C差不多,也就是那幾個。多出來的是Tuple和可選類型這兩個概念 數字類型 這裏記錄一下每個類型的大小。 Int 在32位機器上是Int32 ,在64位機器上是Int64. 除了Int之外,還有Int,Int8,Int1