Swift中常見關(guān)鍵字解釋

Swift中關(guān)鍵字比較多,大部份剛開始學的時候看到這么多有點慌,初步整理一份,持續(xù)更新。

Like an if statement, guard executes statements based on a Boolean value of an expression. Unlike an if statement, guard
statements only run if the conditions are not met. You can think of guard more like anAssert , but rather than crashing, you can gracefully exit.

和if語句類似,也是根據(jù)bool值來判斷,但guard只有在條件不滿足的時候觸發(fā)。你也可以把它看作一種異常處理。

問號是optional的縮寫。Swift里不會自動給變量賦初始值,也就是說變量不會有默認值,所以要求使用變量之前必須要對其初始化。
一旦聲明為Optional的,如果不顯式的賦值就會有個默認值nil。

  • !

感嘆號表示“所修飾的這個符號里面的值一定是非nil的。

swift中有個雙問號操作符(??),可以用來快速對nil進行條件判斷, 對于不期望某個optional值為nil時func返回nil 或者 因為其值為nil而停止了后續(xù)業(yè)務的情況下,我們可以用"??"在optionalValue為nil時做賦值保險操作(“??”操作后返回值為非optional)
用法:
newValue = optionalValue ?? value
若optionalValue非nil時,newValue的值為optionalValue的值,若optionalValue為nil時,newValue的值為value的值

上面幾個關(guān)鍵字是swift的訪問控制符

private 訪問級別所修飾的屬性或者方法只能在當前類里訪問。
fileprivate 訪問級別所修飾的屬性或者方法在當前的Swift源文件里可以訪問。
internal 訪問級別所修飾的屬性或方法在源代碼所在的整個模塊都可以訪問。
如果是框架或者庫代碼,則在整個框架內(nèi)部都可以訪問,框架由外部代碼所引用時,則不可以訪問。
如果是App代碼,也是在整個App代碼,也是在整個App內(nèi)部可以訪問。
public 可以被任何人訪問。但其他module中不可以被override和繼承,而在module內(nèi)可以被override和繼承。
open 可以被任何人使用,包括override和繼承。

let 代表修飾的是常量,不可變。
var 修飾的是變量,可變。

和oc類似,在現(xiàn)有類和結(jié)構(gòu)體的類型基礎(chǔ)上,擴展新的功能。

下劃線的功能有很多,主要是用來占位,但具體占位的作用可以參考上面的鏈接。

主要用來 聲明外部函數(shù)名,

  • ...
    --

和省略號的作用是一樣的,代表后面還有很多,比如多個參數(shù)。又或者代表某個范圍1...5

  • $
    --

為了能夠在實例方法中修改屬性值,可以在方法定義前添加關(guān)鍵字mutating

如果我們希望一個函數(shù)可以修改它的參數(shù)變量的值,我們可以使用 inout 關(guān)鍵詞。這個相當于編程語言概念中所謂的傳址調(diào)用。

使用@objc修飾后的類型,可以直接供 Objective-C 調(diào)用

對于函數(shù),類,協(xié)議等,可以使用@available聲明這些類型的生命周期依賴于特定的平臺和操作系統(tǒng)版本。而#available用在判斷語句中(if, guard, while等),在不同的平臺上做不同的邏輯。

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

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

  • 對各種值為"空"的情況處理不當,幾乎是所有Bug的來源。 在我們的例子里,盡管tmp的值是nil,但調(diào)用tmp的r...
    AKyS佐毅閱讀 10,687評論 1 13
  • Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程序 ...
    大L君閱讀 3,445評論 3 25
  • Swift 簡介 查看Swift當前版本 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X...
    mian小爬閱讀 449評論 0 1
  • 在此特此聲明:一下所有鏈接均來自互聯(lián)網(wǎng),在此記錄下我的查閱學習歷程,感謝各位原創(chuàng)作者的無私奉獻 ! 技術(shù)一點一點積...
    遠航的移動開發(fā)歷程閱讀 11,555評論 12 197
  • 線程,進程:出身貴族的進程,一出生就有自己的封地和錢糧,干活的事是底下的管家工人們的事兒,他只管發(fā)工資。 三次握手...
    niuniuniu閱讀 404評論 0 0

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