資料介紹
一。 Swift和Objective-C的聯(lián)系
1》 Swift與Objective-C共用同一套運(yùn)行時(shí)環(huán)境
我們編寫程序,讓程序運(yùn)行起來,被機(jī)器執(zhí)行的代碼并非全部是由我們自己來編寫的。需要同時(shí)運(yùn)行很多預(yù)先寫好的支持性的代碼,才能讓我們自己的代碼運(yùn)行起來。程序并非單獨(dú)存在的,運(yùn)行時(shí)處在一定的環(huán)境當(dāng)中。我總聯(lián)想到很多小螞蟻在泥土上面爬,而我自己寫的程序只是其中的一只。
Swift跟Objective-C編譯出的程序代碼運(yùn)行在同一套運(yùn)行環(huán)境上面。Swift的類型可以橋接到Objective-C的類型,反之亦然。Swift編寫的代碼可以調(diào)用Objective-C編寫的代碼,反之也一樣。
Objective-C之前積累下來的大量類庫,實(shí)現(xiàn)不用改寫Swift就可以直接調(diào)用。
一。 Swift比Objective-C有什么優(yōu)勢(shì)?
1》, Swift 容易閱讀
不再需要行尾的分號(hào),以及 if/else 語句中圍繞條件表達(dá)式的括弧。另外就是方法的調(diào)用不再互相嵌套成中括號(hào)[[[ ]]]。Swift 中的方法和函數(shù)的調(diào)用使用行業(yè)內(nèi)標(biāo)準(zhǔn)的在一對(duì)括弧內(nèi)使用逗號(hào)分隔的參數(shù)列表。這樣做的結(jié)果就是一種帶有簡(jiǎn)化了句法和語法的更加干凈有表現(xiàn)力的語言。
2》, Swift 更易于維護(hù)
Swift 丟掉了對(duì)著兩個(gè)文件的要求。 Xcode編譯器可以自動(dòng)計(jì)算出以來并執(zhí)行增量構(gòu)建。如此,將頭文件 同實(shí)現(xiàn)文件相分離。把 Objective-C 頭文件(.h) 和實(shí)現(xiàn)文件 (.m) 合并成了一個(gè)代碼文件 (.swift)
3》, Swift 更加安全
Swift代碼中的可選類型使得一個(gè)nil可選值的可能性變得非常的明確, 這意味它能在你寫下一段糟糕的代碼時(shí)會(huì)生成一個(gè)編譯器錯(cuò)誤。 這就建立了一種短程反饋的循環(huán),可以讓程序員帶著目標(biāo)去寫代碼。 問題在代碼被寫就時(shí)就可以被修復(fù), 這大大節(jié)省了你要在修復(fù)有關(guān)來自 Objective-C 指針邏輯的bug時(shí)需要耗費(fèi)的時(shí)間和金錢。
4》, Swift 代碼更少
Swift 減少了重復(fù)性語句和字符串操作所需要的代碼量。在 Objective-C 中, 使用文本字符串將兩塊信息組合起來的操作非常繁瑣。Swift 采用當(dāng)代編程語言的特性,比如使用“+”操作符將兩個(gè)字符串加到一起
Swift中的類型系統(tǒng)減少了代碼語句的復(fù)雜性--作為編譯器可以理解的類型。比如,Objective-C要求程序員記住特殊字符標(biāo)記(%s,%d,%@)并且提供了一個(gè)用逗號(hào)分隔的變量來代替每個(gè)標(biāo)記。Swift支持字符串插入,這就消除了需要記住的標(biāo)記和允許程序員直接插入變量到面向用戶的字符串中
5》, Swift 速度更快
刪除遺留下來的C語言約定大大提升了引擎蓋之下Swift的性能, 進(jìn)行計(jì)算密集型任務(wù)的性能上,Swift已經(jīng)逼近C++的表現(xiàn), 將近是OC運(yùn)行速度的1.4倍。
總結(jié): 使用 Swift,程序員只要維護(hù)原來一半量的代碼文件,手動(dòng)的代碼同步工作為零,標(biāo)點(diǎn)輸入出錯(cuò)的概率也遠(yuǎn)遠(yuǎn)低于以前 -- 這樣就能騰出更多的時(shí)間寫高質(zhì)量的代碼。通過使用可選類型 —— 一種針對(duì)返回或不返回值的編譯時(shí)安全機(jī)制,而返回值是同步操作、網(wǎng)絡(luò)失效時(shí)無效的用戶輸入以及數(shù)據(jù)驗(yàn)證錯(cuò)誤發(fā)生時(shí)普遍會(huì)遇到的問題。ARC 在 Swift 中對(duì)過程式 C 風(fēng)格的代碼,還有蘋果公司 Cocoa 框架使用的面向?qū)ο蟠a都進(jìn)行了統(tǒng)一。
二。 Swift的內(nèi)存管理是怎樣的?
Swift 使用自動(dòng)引用計(jì)數(shù)(Automatic Reference Counting, ARC)來簡(jiǎn)化內(nèi)存管理, 這種內(nèi)存管理方式相比GC而言,對(duì)程序員的要求較高, 并且ARC比GC更容易引起編程錯(cuò)誤,但卻比GC快。尤其在性能很重要的場(chǎng)合。
三。 Swift 支持面向過程編程嗎?
- IOS面試寶典之ob<x>jective-C語言 0次下載
- IOS開發(fā)教程之ob<x>jective-C的十個(gè)面試題和解答資料免費(fèi)下載 0次下載
- VC++程序開發(fā)范例寶典之NetworkList 2次下載
- VC++程序開發(fā)范例寶典之BmpAccess 1次下載
- VC++程序開發(fā)范例寶典之GetWebSource 2次下載
- VC++程序開發(fā)范例寶典之FetchPage 2次下載
- VC++程序開發(fā)范例寶典之ExecScript 2次下載
- VC++程序開發(fā)范例寶典之PictureOverturn 5次下載
- VC++程序開發(fā)范例寶典之dataencrypt 15次下載
- VC++程序開發(fā)范例寶典之Mysocket--Client 10次下載
-
VC++程序開發(fā)范例寶典之SQLfr
ame 6次下載 - VC++程序開發(fā)范例寶典之savecourse 5次下載
- 程序員面試寶典 0次下載
- 程序員面試寶典(pdf清晰版) 0次下載
- 程序員面試寶典下載(pdf電子書)
- 硬件工程師經(jīng)典面試題詳解 1492次閱讀
- 關(guān)于數(shù)組常見的面試題 1672次閱讀
- C語言與C++面試知識(shí)點(diǎn)總結(jié) 1881次閱讀
- 常見的MySQL高頻面試題 2425次閱讀
- java常見數(shù)據(jù)結(jié)構(gòu)面試 1w次閱讀
- 編程面試最常見的14種模式 3186次閱讀
- 如何準(zhǔn)備算法工程師的面試需要知道哪些知識(shí)技能 5558次閱讀
- 面試Linux運(yùn)維工作至少需要知道哪些知識(shí)運(yùn)維的現(xiàn)狀及發(fā)展前景分析 4005次閱讀
- 機(jī)器學(xué)習(xí)入門寶典《統(tǒng)計(jì)學(xué)習(xí)方法》的介紹 4682次閱讀
- Google公司的面試題和詳細(xì)的分解過程 4389次閱讀
- 這里有份Python面試攻略,請(qǐng)簽收! 3001次閱讀
- 大數(shù)據(jù)面試最新16經(jīng)典問題分享 1947次閱讀
- Swift 2無人機(jī)模塊化設(shè)計(jì)解決方案 1498次閱讀
- Google AI 面試20道試題攻略 1w次閱讀
- 編程面試的 9 大算法概念 4336次閱讀
下載排行
本周
- 1OAH0428 V1.0英文規(guī)格書
- 5.86 MB | 8次下載 | 免費(fèi)
- 2TLV246x 帶關(guān)機(jī)功能的低功耗軌道到軌道輸入/輸出運(yùn)算放大器系列數(shù)據(jù)手冊(cè)
- 1.46 MB | 次下載 | 4 積分
- 3TETTEX 2765型電壓互感器校驗(yàn)儀原理方框圖資料
- 2.07 MB | 次下載 | 10 積分
- 4TETTEX 2765型電壓互感器校驗(yàn)電路原理圖資料
- 4.35 MB | 次下載 | 免費(fèi)
- 5數(shù)字16位串行輸出型環(huán)境光傳感器IC BH1750FVI數(shù)據(jù)手冊(cè)
- 0.38 MB | 次下載 | 1 積分
- 6數(shù)字光模塊 GY-30說明書
- 0.11 MB | 次下載 | 1 積分
- 7江西摩矽半導(dǎo)體介紹及其產(chǎn)品
- 2.04 MB | 次下載 | 免費(fèi)
- 8沁恒CH554評(píng)估板資料包
- 1.25 MB | 次下載 | 5 積分
本月
- 1如何看懂電子電路圖
- 12.88 MB | 138次下載 | 免費(fèi)
- 2PC5502負(fù)載均流控制電路數(shù)據(jù)手冊(cè)
- 1.63 MB | 12次下載 | 免費(fèi)
- 3RK3588數(shù)據(jù)手冊(cè)
- 2.24 MB | 9次下載 | 免費(fèi)
- 4ESP32開發(fā)板元件資料
- 0.03 MB | 8次下載 | 免費(fèi)
- 5OAH0428 V1.0英文規(guī)格書
- 5.86 MB | 8次下載 | 免費(fèi)
- 6BK4802P 玩具無線對(duì)講/遙控 IC數(shù)據(jù)手冊(cè)
- 1.81 MB | 5次下載 | 2 積分
- 7臺(tái)式主板DDR5內(nèi)存插槽引腳功能表資料
- 0.17 MB | 3次下載 | 5 積分
- 8PC1032 5.5V_3A高效率同步降壓轉(zhuǎn)換器數(shù)據(jù)手冊(cè)
- 0.76 MB | 3次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935132次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191411次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183345次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81593次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評(píng)論