二者聯(lián)系
- 1、Swift 與 OC 共用一套運(yùn)行時環(huán)境: Swift 的類型可以橋接到 OC 的類型,反之亦然依疼。Swift 編寫的代碼可以調(diào)用 OC 編寫的代碼,反之也一樣闸衫。
- 2涛贯、同一個工程,可以同時使用 Swift 和 OC:
- a. Swift 項(xiàng)目用 OC -> OC 與 Swift 經(jīng)中間文件進(jìn)行橋接蔚出,橋接文件包含 OC 的頭文件弟翘,編譯時自動轉(zhuǎn)換為 Swift 可以識別的形式。Swift 就可以使用 OC 的類和它的函數(shù)骄酗。
- b. OC 項(xiàng)目用 Swift -> 在 Swift 的類中稀余,加上
@objc
的字樣,OC 也可以用 Swift 編寫的類趋翻。但 Swift 跟 C++ 的相互調(diào)用睛琳,需要 OC 來封裝。
- 3踏烙、Swift 骨子里大多與 OC 一樣: 比如 引用計(jì)數(shù)师骗、ARC、屬性讨惩、協(xié)議辟癌、接口、初始化荐捻、擴(kuò)展類黍少、命名參數(shù)、匿名函數(shù)等(可能就是術(shù)語不同而已)
Swift 的優(yōu)勢
- 1处面、Swift 易讀:
- a. 不再需要行尾添加分號(除非一行寫多個語句)厂置,if 中不再需要圍繞條件表達(dá)式的括號;
- b. 方法的調(diào)用不再是互相嵌套中括號魂角;
- c. 方法和函數(shù)的調(diào)用使用行業(yè)內(nèi)標(biāo)準(zhǔn)的在一對括號內(nèi)使用逗號分割參數(shù)列表昵济;
- 2、Swift 更易于維護(hù): 把 OC 頭文件和實(shí)現(xiàn)文件合并成了一個代碼文件 .swift野揪;
- 3访忿、Swift 更安全: Swift 代碼中的可選類型使得一個 nil 可選值的可能性變得非常明確,建立了一種短程反饋的循環(huán)囱挑;
- 4醉顽、Swift 代碼更少: Swift 減少了重復(fù)性語句和字符串操作所需要的代碼量沼溜,比如使用
+
操作符將兩個字符串連在一起平挑; - 5、Swift 速度更快: 刪除遺留下來的 C 語言約定,在進(jìn)行計(jì)算密集型任務(wù)的性能上通熄,約是 OC 運(yùn)行速度的 1.4 倍唆涝。