Swift入門分享

分享一下,初學swift中,感覺和OC不太一樣,需要注意下的地方。

類型

強類型語言,let常量,var變量, 變量名后接?可選類型,!強制解封
元組,我很喜歡

運算符

區(qū)間運算符 a...b,a..<b:從a到b,前者包含b,后者不含
空合運算符 a ??:等價于a != nil ? a! : b

控制流

判斷語句中可以直接初始化常量變量
循環(huán)語句可以加標簽,break或者continue時帶標簽,直接中斷到對應(yīng)的循環(huán)層

結(jié)構(gòu)體,枚舉和類的區(qū)別

在swift中,結(jié)構(gòu)體跟類非常像,枚舉也可以有自己的方法
枚舉除了有原始值還有關(guān)聯(lián)值
結(jié)構(gòu)體和枚舉是值類型,類是引用類型
結(jié)構(gòu)體和類都有屬性,方法,下標,擴展,協(xié)議和構(gòu)造過程
只有類有析構(gòu),繼承,運行時類型轉(zhuǎn)換,引用計數(shù)
array,dictionary,set在swift中都是結(jié)構(gòu)體
mutating函數(shù)可以改變self本身

函數(shù),閉包

這個部分需要仔細看下
函數(shù)的定義方法比較獨特:func 函數(shù)名(參數(shù)標簽 參數(shù)名: 參數(shù)類型) -> 返回值類型
通配符表達式_可以在賦值過程中顯式忽略某個值
支持嵌套函數(shù),也支持把函數(shù)當成一個類型,作為參數(shù)或者返回值
閉包,一種特殊的函數(shù)吧,類似OC中的block,也是引用類型
閉包的縮寫需要留意一下,可以寫成很簡單的樣子
自動閉包,指定時間延遲處理
逃逸閉包,函數(shù)返回后仍可使用,關(guān)鍵字@escaping

類構(gòu)造要仔細看下,我覺得有點坑,指定構(gòu)造器和便利構(gòu)造器比較好理解,但是構(gòu)造順序很坑,先是子類的屬性,依次向上構(gòu)造直到根類,再試調(diào)用根類的其他處理,依次向下調(diào)用直到子類。
類間,類閉包間的循環(huán)陰用,使用weak或unowned解決,之前區(qū)別主要是weak用于可選類型,unowned永不不可選類型,但是使用unowned時可能需要隱式解析可選屬性
重寫父類方法必須用override,便利構(gòu)造方法除外

屬性、方法、下標

屬性支持類屬性,OC在iOS8上也支持了
willset,didset在初始化,或者weak類型自動置空時不會調(diào)用
方法,下標比較簡單

錯誤處理

swift的錯誤處理是一等公民, defer語句在即將離開當前代碼塊時執(zhí)行一系列語句 ,而且延遲執(zhí)行的操作會按照它們被指定時的順序的相反順序執(zhí)行

協(xié)議

只有繼承于OC的類支持可選協(xié)議
協(xié)議支持默認實現(xiàn)
如果多個協(xié)議擴展都為同一個協(xié)議要求提供了默認實現(xiàn),而遵循協(xié)議的類型又同時滿足這些協(xié)議擴展的限制條件,那么將會使用限制條件最多的那個協(xié)議擴展提供的默認實現(xiàn)(這句沒搞懂限制條件多具體指什么)

泛型

用起來感覺比C++簡單
where 指定條件,總是讓我感覺像數(shù)據(jù)庫語句

參考:[The Swift Programming Language]http://wiki.jikexueyuan.com/project/swift/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 4,194評論 1 10
  • Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應(yīng)用程序 ...
    大L君閱讀 3,434評論 3 25
  • Hello Word 在屏幕上打印“Hello, world”,可以用一行代碼實現(xiàn): 你不需要為了輸入輸出或者字符...
    restkuan閱讀 3,366評論 0 6
  • 1、范型范型所解決的問題 函數(shù)、方法、類型:類,結(jié)構(gòu)體,枚舉,元組類型,協(xié)議參數(shù),返回值,成員函數(shù)參數(shù),成員屬性類...
    我是小胡胡123閱讀 942評論 0 1
  • Swift屬性 Swift屬性將值跟特定的類,結(jié)構(gòu)體,枚舉關(guān)聯(lián)。分為存儲屬性和計算屬性,通常用于特定類型的實例。屬...
    小小廚師閱讀 979評論 0 0

友情鏈接更多精彩內(nèi)容