Swift中有如此多的語(yǔ)法和功能術(shù)語(yǔ)土思,有時(shí)候容易感到困惑。因此,此文章將充當(dāng)術(shù)語(yǔ)的一站式詞典炮车,為Swift語(yǔ)言中使用的所有常見(jiàn)術(shù)語(yǔ)提供定義。
@
- @autoclosure:作為閉包的函數(shù)參數(shù)附加的屬性酣溃,它要求Swift將在閉包中使用它的任何代碼靜默包裝起來(lái)瘦穆,而不是要求用戶手工完成。這很少使用赊豌,但是在assert()函數(shù)中很重要扛或。
- @available:附加到類型或函數(shù)的屬性,將其標(biāo)記為對(duì)特定版本的Swift或操作系統(tǒng)可用或不可用碘饼。
- @discardableResult:附加到返回值的方法的屬性熙兔,如果調(diào)用者愿意,則將返回值標(biāo)記為可以安全忽略艾恼。如果不使用此選項(xiàng)住涉,則如果不對(duì)函數(shù)的返回值進(jìn)行任何操作,Swift將顯示警告钠绍。
- @dynamicCallable:附加到類型上的屬性舆声,用于將其標(biāo)記為可直接調(diào)用,主要是使Swift可以更輕松地與動(dòng)態(tài)語(yǔ)言(例如Python)進(jìn)行交互柳爽。
- @dynamicMemberLookup:附加到類型的屬性媳握,用于將類型標(biāo)記為能夠使用特殊方法處理未定義的屬性,主要是使Swift可以更輕松地與動(dòng)態(tài)語(yǔ)言(例如Python)進(jìn)行交互磷脯。
- @escaping:附加到作為閉包的函數(shù)參數(shù)的屬性蛾找,它告訴Swift閉包將在函數(shù)返回后使用。反過(guò)來(lái)赵誓,這將導(dǎo)致Swift安全地存儲(chǔ)閉包腋粥,以免過(guò)早銷毀它晦雨。
- @objc:用于標(biāo)記必須由Objective-C代碼訪問(wèn)的方法和屬性的屬性。默認(rèn)情況下隘冲,Swift不會(huì)將其代碼提供給Objective-C訪問(wèn)闹瞧,以免使代碼變得比需要的大。
- @objcMembers:用于標(biāo)記類的屬性展辞,其中所有屬性和方法都必須可由Objective-C代碼訪問(wèn)奥邮。默認(rèn)情況下,Swift不會(huì)將其代碼提供給Objective-C訪問(wèn)罗珍,以免使代碼變得比需要的大洽腺。
- @unknown:附加在開(kāi)關(guān)塊默認(rèn)情況下的屬性,該屬性使代碼可以處理將來(lái)可能在某個(gè)時(shí)候添加的枚舉情況覆旱,而不會(huì)破壞源兼容性蘸朋。
a
- Access control:一組關(guān)鍵字,用于控制其他代碼如何訪問(wèn)屬性扣唱。 open表示可以從任何地方訪問(wèn)和覆蓋該屬性藕坯,public表示可以從任何地方訪問(wèn)該屬性,但是只能在它來(lái)自的模塊中覆蓋噪沙; internal表示可以從同一模塊內(nèi)部的任何位置訪問(wèn)該屬性炼彪,fileprivate意味著該屬性可以可以從同一文件內(nèi)的任何位置訪問(wèn)該屬性,而private意味著可以從同一類型內(nèi)的任何位置訪問(wèn)該屬性正歼。
- ABI:關(guān)于Swift編譯器如何生成二進(jìn)制文件的描述:如何在內(nèi)存中布置和訪問(wèn)數(shù)據(jù)結(jié)構(gòu)辐马,如何調(diào)用函數(shù),等等局义。
- API:庫(kù)為解決特定問(wèn)題而公開(kāi)的類喜爷,結(jié)構(gòu),方法和屬性的集合萄唇。應(yīng)用程序編程接口的縮寫(xiě)檩帐。
- Argument:傳遞給函數(shù)的值的名稱,將在函數(shù)內(nèi)部使用穷绵。例如轿塔,在sayHello(to:“ Paul”)中,to部分是一個(gè)參數(shù)仲墨。許多人只是說(shuō)“參數(shù)”而不是“論點(diǎn)”勾缭,但是論點(diǎn)在技術(shù)上是正確的。
- Array:任何類型的值的順序集合目养,例如帶中名稱的數(shù)組俩由。
- Associated type(關(guān)聯(lián)類型):協(xié)議中缺少的類型,必須由符合協(xié)議的任何類型來(lái)指定癌蚁。關(guān)聯(lián)類型使我們?cè)谔砑右恢滦詴r(shí)具有靈活性:可以說(shuō)要遵守我們的協(xié)議幻梯,您必須具有一組項(xiàng)目兜畸,但是我們不在乎這些項(xiàng)目的數(shù)據(jù)類型是什么。關(guān)聯(lián)類型在Swift中是一個(gè)單詞:associatedtype碘梢。
- Associated value(關(guān)聯(lián)值):已添加到枚舉用例中以提供一些額外含義的值咬摇。例如,您可能有一個(gè)枚舉案例煞躬,說(shuō)天氣多風(fēng)肛鹏,然后添加一個(gè)關(guān)聯(lián)值,說(shuō)天氣多風(fēng)恩沛。
b
- Block:可以表示任何以{開(kāi)頭并以}結(jié)尾的代碼塊(“代碼塊”)在扰,但是“塊”也是閉包的Objective-C名稱。
- Boolean:一種存儲(chǔ)true或false的數(shù)據(jù)類型雷客。
- Brace(括號(hào)):用于打開(kāi)和關(guān)閉大括號(hào){和}的名稱芒珠。
- Bracket(括號(hào)):用于打開(kāi)和關(guān)閉方括號(hào)的名稱,[和]
- Break(中斷):退出當(dāng)前循環(huán)的關(guān)鍵字搅裙。如果與帶標(biāo)簽的語(yǔ)句一起使用皱卓,例如break myLoop,它將跳出指定的塊呈宇。
c
- Capturing values(捕獲值):閉包過(guò)程的名稱好爬,保留對(duì)在閉包內(nèi)部使用但在外部創(chuàng)建的值的引用局雄。這與復(fù)制不同:閉包引用原始值甥啄,而不是其自己的副本,因此炬搭,如果原始值更改蜈漓,則閉包的值也更改。
- CaseIterable:可應(yīng)用于枚舉的Swift協(xié)議宫盔。如果枚舉的個(gè)案沒(méi)有關(guān)聯(lián)值融虽,則編譯器將生成allCases數(shù)組,使您可以遍歷枚舉中的個(gè)案灼芭。
- Catch(捕獲):一個(gè)關(guān)鍵字有额,用于啟動(dòng)代碼塊來(lái)處理錯(cuò)誤。您可以指定應(yīng)捕獲的錯(cuò)誤類型彼绷,并使用通用的“全部捕獲”塊來(lái)捕獲所有其他錯(cuò)誤巍佑。與之配對(duì)。
- CGFloat:一個(gè)浮點(diǎn)數(shù)寄悯,根據(jù)平臺(tái)的不同萤衰,它可能等效于Double或Float。
- Class:一種自定義數(shù)據(jù)類型猜旬,可以具有一個(gè)或多個(gè)屬性以及一個(gè)或多個(gè)方法脆栋。與結(jié)構(gòu)不同倦卖,類是引用類型。
- Class inheritance(類繼承):一種類可以在另一類上構(gòu)建椿争,并繼承其所有方法和屬性的能力怕膛。有些語(yǔ)言允許一個(gè)類從多個(gè)父級(jí)繼承,但是Swift不允許秦踪。
- Closure:匿名函數(shù)嘉竟,該函數(shù)自動(dòng)保留對(duì)其使用的,在函數(shù)外部聲明的任何值的引用洋侨。
- Codable:一種協(xié)議舍扰,它允許在結(jié)構(gòu)或類與JSON或XML之間輕松轉(zhuǎn)換。
- Collection:一種序列類型使用的Swift協(xié)議希坚,您可以遍歷多次而不會(huì)破壞它們或影響集合边苹,例如數(shù)組和字典。
- Comparable(可比性):一種通用的Swift協(xié)議裁僧,其中規(guī)定可以使用<將排序類型放入訂單中个束。
- Compiler directive(編譯器指令):使用#編寫(xiě)的幾段特殊代碼之一,用作對(duì)編譯器的指令聊疲。例如茬底,編譯器指令可以檢查我們是否以模擬器為目標(biāo),并編譯兩個(gè)代碼變體之一获洲。
- Compound assignment operator(復(fù)合賦值運(yùn)算符):修改值并將其同時(shí)賦值回原始變量的運(yùn)算符阱表。例如,score + = 1將1加到當(dāng)前值贡珊。
- Computed property(計(jì)算屬性):任何沒(méi)有簡(jiǎn)單存儲(chǔ)區(qū)值的屬性最爬,而是每次通過(guò)運(yùn)行某些代碼訪問(wèn)該屬性時(shí)計(jì)算的屬性。
- Condition:使用if語(yǔ)句評(píng)估為true或false的所有檢查门岔。您可以提供在條件為真時(shí)運(yùn)行的代碼爱致,以及其他
- Conditional conformance(條件一致性):僅在滿足特定條件的情況下,才能說(shuō)類型符合協(xié)議的能力寒随。例如糠悯,Swift的數(shù)組僅在其元素也符合Equatable時(shí)才符合Equatable。
- Constant:程序中的任何命名數(shù)據(jù)都可能在程序運(yùn)行時(shí)保持不變妻往。
- Continue:退出循環(huán)的當(dāng)前迭代的關(guān)鍵字互艾,使循環(huán)立即開(kāi)始其下一個(gè)迭代。如果與帶標(biāo)簽的語(yǔ)句一起使用蒲讯,例如繼續(xù)myLoop忘朝,它將繼續(xù)指定的塊。
- Controller:程序中處理邏輯的一部分判帮。模型視圖控制器結(jié)構(gòu)的一部分局嘁。
d
- Data:一種類型溉箕,可保存任何類型的二進(jìn)制數(shù)據(jù)。
- Default case:與所有其他值匹配的開(kāi)關(guān)塊的特殊情況悦昵。
- Default parameter:附加有默認(rèn)值的功能參數(shù)肴茄,以允許調(diào)用者不提供默認(rèn)值并獲得合理的行為。例如但指,func checkSettings(debugMode:Bool = true)可以稱為checkSettings(debugMode:true)或checkSettings(debugMode:false)寡痰,也可以稱為checkSettings()-缺少debugMode值將假定為true,因?yàn)檫@是默認(rèn)值棋凳。
- Defer(延遲):一個(gè)關(guān)鍵字拦坠,允許我們安排退出當(dāng)前范圍的工作。
- Deinitializer:初始化類的實(shí)例被銷毀時(shí)調(diào)用的一種特殊方法剩岳。這些可能不接受參數(shù)贞滨,并且在結(jié)構(gòu)上不存在。
- Dictionary:使用鍵存儲(chǔ)的高性能拍棕,無(wú)序值集合晓铆,用于快速訪問(wèn)。
- Do:一個(gè)關(guān)鍵字绰播,它啟動(dòng)可能引發(fā)錯(cuò)誤的代碼塊骄噪。與漁獲配對(duì)。
- Double:高精度浮點(diǎn)數(shù)蠢箩,例如3.1或3.141592654链蕊。
e
- Enum:一組命名值,不僅使用字符串或整數(shù)忙芒,更容易記住和安全示弓。例如讳侨,您可以使用北呵萨,南,東和西創(chuàng)建方向的枚舉-例如跨跨,這比使用0潮峦、1、2和3更好勇婴。 “枚舉”的縮寫(xiě)忱嘹。發(fā)音為“ ee-numb”,但“ ee-noom”是可接受的變體耕渴。
- Equatable:一種通用的Swift協(xié)議拘悦,其中指出可以使用==比較一致性類型是否相等。
- Error:我們自己的枚舉可以遵循的Swift協(xié)議橱脸,然后我們可以使用該協(xié)議引發(fā)函數(shù)錯(cuò)誤础米。
- Expression(表達(dá)式):一些評(píng)估為值的代碼分苇。例如,12 * 12的值為144屁桑。
- Extension(擴(kuò)展):添加到具體類型(例如Int)的一組其他方法和計(jì)算屬性医寿。
f
- Fallthrough:在切換塊中使用的關(guān)鍵字,意思是“緊隨此之后繼續(xù)執(zhí)行案例”蘑斧。
- Failable initializer(失敗的初始值設(shè)定項(xiàng)):返回初始值的初始值設(shè)定項(xiàng)靖秩,因?yàn)槌跏蓟赡苡捎谀撤N原因而失敗。這些被寫(xiě)為init竖瘾?()或init9低弧()。
- Final class(最終類):不能被其他任何東西繼承的類捕传。
- Float:低精度浮點(diǎn)數(shù)事扭,例如3.1或3.141592654。
- For loop :循環(huán)計(jì)算序列中所有值(例如數(shù)組或范圍)的循環(huán)乐横。
- Force unwrap(強(qiáng)制解包):首先在可選字段中使用值而不檢查其存在的過(guò)程求橄。如果可選參數(shù)為空(如果沒(méi)有值),則強(qiáng)制展開(kāi)將使您的代碼崩潰葡公。
- Framework:您正在使用的代碼集合罐农。框架與庫(kù)的不同之處在于催什,框架通常接管其操作的控制權(quán)涵亏,并在需要信息時(shí)回調(diào)給您。
- Function:執(zhí)行特定的可重用任務(wù)的代碼的命名部分蒲凶。您可以將參數(shù)傳遞給該函數(shù)以自定義其運(yùn)行方式气筋,并且該函數(shù)可能返回一個(gè)或多個(gè)作為其工作結(jié)果的值。
- Functional programming(函數(shù)式編程):一種編程方法旋圆,它傾向于與函數(shù)之間收發(fā)不變的數(shù)據(jù)宠默,避免產(chǎn)生副作用,并將函數(shù)組合在一起灵巧。
g
- Generics(泛型):一種類型或功能可與多種數(shù)據(jù)類型一起使用的能力搀矫。 例如,Swift的數(shù)組是通用的刻肄,因?yàn)槟梢詣?chuàng)建一個(gè)存儲(chǔ)整數(shù)的數(shù)組瓤球,一個(gè)存儲(chǔ)字符串的數(shù)組,等等敏弃。
- guard(保護(hù)):一種Swift語(yǔ)法卦羡,用于檢查條件是否為真,如果條件不正確,則強(qiáng)制您立即退出當(dāng)前范圍绿饵。 這通常用作防護(hù)讓逝薪,它檢查可選選項(xiàng)是否具有值,如果有蝴罪,則為該可選值創(chuàng)建一個(gè)新的常量董济,以便可以安全地使用它。 如果沒(méi)有值要门,則保護(hù)條件失敗虏肾,您必須退出當(dāng)前作用域。
h
- Hashable(可散列):一種通用的Swift協(xié)議欢搜,其中規(guī)定可以使用散列值表示符合類型封豪。
- Higher-order function(高階函數(shù)):一個(gè)函數(shù),該函數(shù)接受另一個(gè)函數(shù)作為參數(shù)炒瘟,或者將一個(gè)函數(shù)作為其返回值發(fā)送回去吹埠。
i
- if let:一種Swift語(yǔ)法,用于檢查可選參數(shù)是否具有值疮装,如果存在缘琅,則為該可選參數(shù)的值創(chuàng)建一個(gè)新常數(shù),以便可以安全地使用它廓推。如果沒(méi)有值刷袍,則if條件失敗,您可以改為運(yùn)行else塊樊展。
- Implicitly unwrapped optional(隱式解開(kāi)的可選):一種特殊的Swift可選呻纹,可能包含也可能不包含值,但在使用前無(wú)需進(jìn)行檢查专缠。如果您嘗試使用沒(méi)有值的隱式展開(kāi)的可選內(nèi)容雷酪,則您的應(yīng)用程序?qū)⒈罎ⅰ?/li>
- Indirect enum(間接枚舉):經(jīng)過(guò)特殊編譯的枚舉,以便可以在其關(guān)聯(lián)值中引用自身涝婉。例如哥力,如果您有一個(gè)鏈接列表枚舉,需要將另一個(gè)鏈接列表項(xiàng)作為關(guān)聯(lián)值引用嘁圈,則此列表必須是間接的省骂。
- Infinite loop(無(wú)限循環(huán)):直到您這樣說(shuō),循環(huán)永遠(yuǎn)不會(huì)結(jié)束最住。這通常是通過(guò)將布爾變量設(shè)置為true來(lái)完成的-您可以在希望循環(huán)結(jié)束時(shí)立即將其設(shè)置為false。
- Initializer(初始化程序):一種特殊的方法怠惶,用于創(chuàng)建結(jié)構(gòu)或類的實(shí)例涨缚。您可以有許多初始化程序,對(duì)于類,可以在您自己的初始化程序中調(diào)用父初始化程序脓魏。
- inout parameter:一個(gè)函數(shù)參數(shù)兰吟,當(dāng)在函數(shù)內(nèi)部更改時(shí),仍然在函數(shù)外部更改茂翔。
- Integer:整數(shù)混蔼,例如5、55或5500萬(wàn)珊燎。
?
- Keypath(關(guān)鍵路徑):一種無(wú)需實(shí)際讀取即可引用屬性的方法惭嚣。
- Keyword:作為Swift構(gòu)造具有特定含義的任何單詞,例如class悔政,continue和try晚吞。
l
- Labeled statement(帶標(biāo)簽的語(yǔ)句):附加到特定代碼塊(例如循環(huán)或條件)的名稱,即使您位于其他代碼塊中谋国,也可以使它特別地突兀槽地。例如,如果您位于第三個(gè)循環(huán)內(nèi)的循環(huán)內(nèi)芦瘾,則可以退出最外層的循環(huán)捌蚊。
- Lazy:將屬性標(biāo)記為僅在首次訪問(wèn)時(shí)才創(chuàng)建的關(guān)鍵字。這是一種性能優(yōu)化近弟,因?yàn)檫@意味著如果永不訪問(wèn)該屬性逢勾,則永遠(yuǎn)不會(huì)完成計(jì)算其值所需的工作。
- Library:您正在使用的代碼的集合藐吮。庫(kù)與框架的不同之處在于溺拱,庫(kù)只是類,結(jié)構(gòu)谣辞,枚舉等的集合迫摔,供您隨意使用。
m
- Memberwise initializer(成員初始化器):由Swift編譯器自動(dòng)生成的結(jié)構(gòu)的初始化器泥从,要求所有屬性必須具有值句占。如果在struct中實(shí)現(xiàn)自己的初始化程序,則Swift將不再生成成員初始化程序躯嫉。
- Method:屬于結(jié)構(gòu)或類的函數(shù)纱烘。
- Model:程序中存儲(chǔ)數(shù)據(jù)的一部分。模型視圖控制器結(jié)構(gòu)的一部分祈餐。
- Multi-line strings:跨多行的字符串擂啥。 Swift中的多行字符串必須在自己的行上以三個(gè)雙引號(hào)開(kāi)頭和結(jié)尾。
- Mutating method:一種結(jié)構(gòu)上的方法帆阳,它將改變結(jié)構(gòu)的屬性之一哺壶。必須使用它,因?yàn)橹挥锌勺兘Y(jié)構(gòu)體才能調(diào)用它們的變異方法。類不需要突變方法山宾,因?yàn)轭愔械拿總€(gè)方法都可以在沒(méi)有關(guān)鍵字的情況下進(jìn)行突變至扰。
n
- Nested type(嵌套類型):在另一個(gè)類或結(jié)構(gòu)內(nèi)定義的一個(gè)類或結(jié)構(gòu)。
- Nil:Swift的缺失數(shù)據(jù)術(shù)語(yǔ)资锰。沒(méi)有值的可選值將設(shè)置為nil敢课。
- Nil coalescing:Swift中的運(yùn)算符,寫(xiě)為??绷杜,如果有可選值直秆,則使用可選值,否則使用默認(rèn)值接剩。
- Non-throwing function(非拋出函數(shù)):不能拋出錯(cuò)誤的函數(shù)切厘。不能使用throws標(biāo)記這些標(biāo)記,也不能使用throw關(guān)鍵字懊缺。
o
- Objective-C:蘋(píng)果公司的第一款編程語(yǔ)言疫稿,也是Swift的先驅(qū)。
- Operand(操作數(shù)):與運(yùn)算符一起使用的值鹃两。例如遗座,在2 + 3中,2和3是操作數(shù)俊扳。
- Operator(運(yùn)算符):在其左側(cè)和/或右側(cè)的值上充當(dāng)函數(shù)的任何符號(hào)途蒋。例如,+是將兩個(gè)值加在一起的運(yùn)算符馋记。
- Operator overloading(運(yùn)算符重載):一個(gè)運(yùn)算符(例如+)根據(jù)其使用方式執(zhí)行多項(xiàng)操作的能力号坡。例如,1 +1是一個(gè)整數(shù)加法梯醒,但是“ Hello” +“ Paul”會(huì)將字符串連接在一起宽堆。
- Optional(可選):一種包裝其他類型的類型,例如String或Int茸习,但增加了根本不存儲(chǔ)任何值的功能畜隶。 “無(wú)值”不同于所有常規(guī)整數(shù)值,包括零号胚。 Swift大量使用可選參數(shù)作為提供運(yùn)行時(shí)安全性的一種方式籽慢,編譯器強(qiáng)迫我們正確使用它們。
- Optional chaining(可選鏈接):在一行代碼中使用多個(gè)可選方法或?qū)傩缘哪芰γㄐ病H绻鼈冎械娜魏我粋€(gè)為零箱亿,那么該行的執(zhí)行將停止,但是如果它們?nèi)砍晒Χ拍瑒t將返回一個(gè)可選值极景。例如察净,用戶驾茴?.name盼樟?.uppercased()。
- Override method(覆蓋方法):類的方法锈至,其名稱晨缴,參數(shù)和返回類型與該類的父類的方法相同。 overlay關(guān)鍵字告訴Swift編譯器您了解您正在更改行為峡捡。
p
- Parameter:已傳遞到函數(shù)中的值的名稱击碗,將在函數(shù)內(nèi)部使用。例如们拙,在func sayHello(to:String)中稍途,to部分是一個(gè)參數(shù)。
- Parameter label(參數(shù)標(biāo)簽):分配給影響其在外部使用方式的功能參數(shù)的自定義名稱砚婆。例如械拍,在sayHello(to name:String)中,調(diào)用該函數(shù)的人會(huì)說(shuō)sayHello(to:“ Paul”)装盯,但是在函數(shù)內(nèi)部您將引用name坷虑。
- Parenthesis(括號(hào)):用于打開(kāi)和關(guān)閉圓括號(hào)(和)的名稱。
- Polymorphism(多態(tài)性):對(duì)象顯示為多種不同類型并用作多種類型的能力埂奈。例如迄损,如果您已將Labrador類實(shí)例定義為父類,則它們也可以用作Dog and Mammal账磺。
- Property(屬性):屬于類芹敌,結(jié)構(gòu)或枚舉的常量或變量。
- Property observer(屬性觀察者):使用willSet和didSet添加到屬性的代碼垮抗,每當(dāng)更改屬性時(shí)都會(huì)調(diào)用該代碼氏捞。
- Property wrapper(屬性包裝器):圍繞屬性設(shè)置的屬性,可為其提供自定義功能借宵。例如幌衣,您可以編寫(xiě)一個(gè)@UserDefaults屬性包裝器,以簡(jiǎn)化將數(shù)據(jù)加載和保存到用戶默認(rèn)值的過(guò)程壤玫。
- Protocol(協(xié)議):類型必須符合的條件列表豁护,例如屬性名稱和方法。協(xié)議允許我們以相同的方式對(duì)待許多對(duì)象欲间,因?yàn)樗鼈儗?shí)現(xiàn)了使協(xié)議起作用所需的所有行為楚里。
- Protocol extension :一組添加到協(xié)議中的其他方法和計(jì)算屬性,例如Equatable猎贴。
- Protocol inheritance:一種協(xié)議從另一協(xié)議繼承需求的能力班缎。例如蝴光,可比較協(xié)議繼承自Equatable。
- Protocol-oriented programming(面向協(xié)議的編程POP):一種編程方法达址,該方法支持通過(guò)協(xié)議擴(kuò)展來(lái)重用代碼盹靴,從而提供了多重繼承的好處,而又沒(méi)有一些復(fù)雜性屁置。特別是搞监,面向協(xié)議的編程(POP)不能將存儲(chǔ)的屬性添加到類型中,因此減少了麻煩满葛。
r
- Range:范圍跨越兩個(gè)值之間的距離径簿,最大到有時(shí)包括最終值。這主要用于數(shù)字:1 .. <4包括數(shù)字1嘀韧、2和3篇亭,而范圍1 ... 4包括數(shù)字1、2锄贷、3和4译蒂。范圍也可以從其他數(shù)據(jù)中得出類型,例如日期肃叶。
- Raw strings:可以在需要使用反斜杠和引號(hào)而又沒(méi)有常規(guī)含義的情況下指定自定義字符串定界符的功能蹂随。
- Raw value:可以將枚舉值映射到的簡(jiǎn)單基礎(chǔ)數(shù)據(jù)類型,以進(jìn)行加載和保存因惭。例如岳锁,您可能會(huì)說(shuō)水星,金星和地球這兩個(gè)行星的原始原始值為1蹦魔、2和3激率。
- Reference type :將數(shù)據(jù)間接存儲(chǔ)在內(nèi)存中的任何類型,變量或常量實(shí)際上只是該內(nèi)存的指針(或引用)勿决。如果將第二個(gè)變量指向引用類型乒躺,則它將指向與原始引用相同的內(nèi)存數(shù)據(jù),因此該數(shù)據(jù)是共享的低缩。
- Repeat loop:只要條件為真嘉冒,就會(huì)繼續(xù)執(zhí)行的循環(huán)。如果其條件開(kāi)始為假咆繁,它將至少執(zhí)行一次讳推。
- Rethrowing functions(重新拋出函數(shù)):使用rethrows關(guān)鍵字的函數(shù),以便僅當(dāng)它接受的閉包拋出錯(cuò)誤時(shí)才拋出錯(cuò)誤玩般。
- Return type:函數(shù)表示將返回的數(shù)據(jù)類型银觅。 Swift總是強(qiáng)制執(zhí)行此操作,因此如果您說(shuō)要返回一個(gè)字符串坏为,則必須這樣做究驴。
- Runtime:代碼運(yùn)行時(shí)镊绪,而不是編譯時(shí),即代碼構(gòu)建時(shí)洒忧。
s
- Scope:變量和常量有效的代碼區(qū)域蝴韭。每次使用右括號(hào)時(shí),都會(huì)啟動(dòng)一個(gè)新的作用域:所有先前的變量和常量在該作用域中均保持有效跑慕,但是在該作用域內(nèi)聲明的所有變量和常量?jī)H在該作用域以右括號(hào)結(jié)束之前才有效万皿。
- Selector:一種在不實(shí)際調(diào)用函數(shù)的情況下引用函數(shù)的方法摧找,通常用于以后調(diào)用它們的目的核行。
- Serialization:將對(duì)象轉(zhuǎn)換為文本或二進(jìn)制,反之亦然的過(guò)程蹬耘。例如芝雪,將用戶數(shù)組轉(zhuǎn)換為JSON,或?qū)SON轉(zhuǎn)換為用戶數(shù)組综苔。
- Set:符合哈希協(xié)議的任何類型的高性能惩系,無(wú)序值集合。
- Shorthand parameter name(速記參數(shù)名稱):閉包中可用的特殊參數(shù)名稱如筛,用美元符號(hào)表示堡牡,數(shù)字從0開(kāi)始。例如杨刨,如果閉包接受名稱字符串和年齡整數(shù)晤柄,則可以將字符串稱為 1妖胀。注意:您不能將速記語(yǔ)法與常規(guī)語(yǔ)法混用和匹配芥颈。
- some:使用不透明返回類型的關(guān)鍵字–返回類型,例如SwiftUI中的某些View表示“將返回某種View赚抡,但具體哪種類型無(wú)關(guān)緊要”爬坑。
- Statement:執(zhí)行某種動(dòng)作的一些代碼,例如print(age)涂臣。
- Static method:一種在結(jié)構(gòu)或類的所有實(shí)例之間共享的方法盾计,而不是每個(gè)實(shí)例都唯一。因?yàn)樗皇窃诮Y(jié)構(gòu)或類的特定實(shí)例上運(yùn)行赁遗,所以它無(wú)法訪問(wèn)未標(biāo)記為靜態(tài)的任何屬性署辉。
- Static property:在結(jié)構(gòu)或類的所有實(shí)例之間共享的屬性,而不是每個(gè)實(shí)例都唯一吼和。
StaticString:Swift的String的一種特殊形式涨薪,必須手工鍵入-您必須直接將字符串直接鍵入代碼中,而不是使用字符串插值炫乓。 - String:字母的集合刚夺,例如“ Hello”献丑。
- String interpolation:Swift將變量和常量的值插入字符串的能力,例如“ Hello侠姑,\(name)”创橄。
- Struct:一種自定義數(shù)據(jù)類型,可以具有一個(gè)或多個(gè)屬性以及一個(gè)或多個(gè)方法莽红。與類不同妥畏,結(jié)構(gòu)是值類型。
- Subscript:與集合一起使用的特殊方法安吁,可輕松訪問(wèn)集合中的讀取和寫(xiě)入值醉蚁。例如,someArray [3]是下標(biāo)鬼店,someDictionary [“ name”]也是如此网棍。
- Switch case:一種在一個(gè)代碼塊中評(píng)估多個(gè)條件的系統(tǒng)。例如妇智,您可以使用switch age來(lái)評(píng)估age變量滥玷,然后使用0到10、10到20巍棱、20到30的個(gè)案惑畴,依此類推。開(kāi)關(guān)塊在Swift中必須是詳盡無(wú)遺的航徙,這意味著它們必須具有覆蓋所有可能值的大小寫(xiě)如贷。
- Syntactic sugar:一種特殊的Swift語(yǔ)法名稱,旨在掩蓋復(fù)雜性捉偏。該名稱源于這樣的想法倒得,即最好創(chuàng)建簡(jiǎn)短而甜美的語(yǔ)法,使其與較長(zhǎng)的語(yǔ)法相同夭禽。例如霞掺,[String]是Array <String>的語(yǔ)法糖。
- Synthesize:Swift編譯器代表您生成代碼的名稱讹躯。例如菩彬,如果您說(shuō)一個(gè)自定義結(jié)構(gòu)符合Equatable,并且其所有屬性都已經(jīng)符合Equatable潮梯,則Swift可以為其合成一個(gè)==函數(shù)骗灶。
t
- Ternary operator(三元運(yùn)算符):使用三個(gè)值的運(yùn)算符,用Swift編寫(xiě)為秉馏? :耙旦。例如,isEnabled萝究? 10:如果isEnabled為true免都,則100將返回10锉罐,否則為100。
- Throwing function(投擲函數(shù)):具有拋出錯(cuò)誤的功能的函數(shù)绕娘。這些必須在Swift中使用throws關(guān)鍵字進(jìn)行標(biāo)記脓规,并使用try進(jìn)行調(diào)用。
- Trailing closure syntax(尾隨閉包語(yǔ)法):接受閉包作為其最終參數(shù)的函數(shù)在函數(shù)的括號(hào)后指定閉包的能力险领,這通常有助于使函數(shù)調(diào)用更易于閱讀侨舆。
- try catch:運(yùn)行throwing函數(shù)并捕獲發(fā)生的任何錯(cuò)誤的能力。您必須開(kāi)始使用do塊绢陌,然后使用try調(diào)用其中的任何throw方法挨下,最后添加一個(gè)或多個(gè)catch塊以捕獲任何錯(cuò)誤。編寫(xiě)catch塊以捕獲所有錯(cuò)誤有時(shí)被稱為Pokémoncatch下面,因?yàn)椤澳仨毑东@所有東西”复颈。
- Tuple(元組):任何類型的值的固定大小的集合,例如匿名結(jié)構(gòu)沥割。發(fā)音為“ tyoo-pull”或“ too-pull”,有時(shí)甚至是“ tupple”凿菩。
- Type alias:類型別名是指定哪種類型應(yīng)填充關(guān)聯(lián)類型的功能机杜。通常不需要這樣做,因?yàn)镾wift可以通過(guò)查看與關(guān)聯(lián)類型一起使用的屬性來(lái)找出類型別名衅谷。類型別名在Swift中是一個(gè)字:typealias椒拗。
- Type inference(類型推斷):Swift的編譯器能夠確定應(yīng)將哪種數(shù)據(jù)類型分配給每個(gè)變量和常量,因此您不必明確聲明它获黔。
- Typecasting(類型轉(zhuǎn)換):將一種類型的對(duì)象視為另一種類型的對(duì)象的能力蚀苛。當(dāng)您了解有關(guān)Swift編譯器的更多信息時(shí)(例如,從情節(jié)提要中實(shí)例化視圖控制器時(shí))玷氏,這是必需的堵未。
u
- Unwrapping optionals(解開(kāi)可選項(xiàng)):檢查可選項(xiàng)中是否有值,并提取該值以便安全使用的過(guò)程盏触。
v
- Value type(值類型):直接將其數(shù)據(jù)存儲(chǔ)在內(nèi)存中的任何類型渗蟹。 如果將第二個(gè)變量指向值類型,它將始終完整復(fù)制數(shù)據(jù)赞辩,而不是允許其共享雌芽。
- Variable(變量):代碼中任何已命名的數(shù)據(jù),在程序運(yùn)行時(shí)可能會(huì)更改辨嗽。
- Variadic function(可變參數(shù)函數(shù)):一種函數(shù)世落,采用一個(gè)或多個(gè)特定類型的值,以逗號(hào)分隔糟需。 print()函數(shù)是可變參數(shù)屉佳,因?yàn)槟梢跃帉?xiě)print(1)來(lái)打印單個(gè)值来破,或者通過(guò)print(1、2忘古、3徘禁、4、5髓堪、6送朱、7、8)來(lái)打印多個(gè)值干旁。
- View:程序的一部分驶沼,向用戶顯示可見(jiàn)的結(jié)果。 模型視圖控制器結(jié)構(gòu)的一部分争群。
- void:缺少值回怜。 最常用于表示什么都不返回的函數(shù)的返回類型。
w
- While loop:只要條件為真换薄,就會(huì)繼續(xù)執(zhí)行的循環(huán)玉雾。 如果其條件開(kāi)始為假,則即使執(zhí)行一次也不會(huì)執(zhí)行轻要。