電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>課件下載>IOS面試寶典之Swift

IOS面試寶典之Swift

2018-09-26 | rar | 0.05 MB | 次下載 | 免費(fèi)

資料介紹

  一。 Swift和Objective-C的聯(lián)系

  1》 Swift與Objective-C共用同一套運(yùn)行時(shí)環(huán)境

  我們編寫(xiě)程序,讓程序運(yùn)行起來(lái),被機(jī)器執(zhí)行的代碼并非全部是由我們自己來(lái)編寫(xiě)的。需要同時(shí)運(yùn)行很多預(yù)先寫(xiě)好的支持性的代碼,才能讓我們自己的代碼運(yùn)行起來(lái)。程序并非單獨(dú)存在的,運(yùn)行時(shí)處在一定的環(huán)境當(dāng)中。我總聯(lián)想到很多小螞蟻在泥土上面爬,而我自己寫(xiě)的程序只是其中的一只。

  Swift跟Objective-C編譯出的程序代碼運(yùn)行在同一套運(yùn)行環(huán)境上面。Swift的類型可以橋接到Objective-C的類型,反之亦然。Swift編寫(xiě)的代碼可以調(diào)用Objective-C編寫(xiě)的代碼,反之也一樣。

  Objective-C之前積累下來(lái)的大量類庫(kù),實(shí)現(xiàn)不用改寫(xiě)Swift就可以直接調(diào)用。

 一。 Swift比Objective-C有什么優(yōu)勢(shì)?

  1》, Swift 容易閱讀

  不再需要行尾的分號(hào),以及 if/else 語(yǔ)句中圍繞條件表達(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)化了句法和語(yǔ)法的更加干凈有表現(xiàn)力的語(yǔ)言。

  2》, Swift 更易于維護(hù)

  Swift 丟掉了對(duì)著兩個(gè)文件的要求。 Xcode編譯器可以自動(dòng)計(jì)算出以來(lái)并執(zhí)行增量構(gòu)建。如此,將頭文件 同實(shí)現(xiàn)文件相分離。把 Objective-C 頭文件(.h) 和實(shí)現(xiàn)文件 (.m) 合并成了一個(gè)代碼文件 (.swift)

  3》, Swift 更加安全

  Swift代碼中的可選類型使得一個(gè)nil可選值的可能性變得非常的明確, 這意味它能在你寫(xiě)下一段糟糕的代碼時(shí)會(huì)生成一個(gè)編譯器錯(cuò)誤。 這就建立了一種短程反饋的循環(huán),可以讓程序員帶著目標(biāo)去寫(xiě)代碼。 問(wèn)題在代碼被寫(xiě)就時(shí)就可以被修復(fù), 這大大節(jié)省了你要在修復(fù)有關(guān)來(lái)自 Objective-C 指針邏輯的bug時(shí)需要耗費(fèi)的時(shí)間和金錢。

  4》, Swift 代碼更少

  Swift 減少了重復(fù)性語(yǔ)句和字符串操作所需要的代碼量。在 Objective-C 中, 使用文本字符串將兩塊信息組合起來(lái)的操作非常繁瑣。Swift 采用當(dāng)代編程語(yǔ)言的特性,比如使用“+”操作符將兩個(gè)字符串加到一起

  Swift中的類型系統(tǒng)減少了代碼語(yǔ)句的復(fù)雜性--作為編譯器可以理解的類型。比如,Objective-C要求程序員記住特殊字符標(biāo)記(%s,%d,%@)并且提供了一個(gè)用逗號(hào)分隔的變量來(lái)代替每個(gè)標(biāo)記。Swift支持字符串插入,這就消除了需要記住的標(biāo)記和允許程序員直接插入變量到面向用戶的字符串中

  5》, Swift 速度更快

  刪除遺留下來(lái)的C語(yǔ)言約定大大提升了引擎蓋之下Swift的性能, 進(jìn)行計(jì)算密集型任務(wù)的性能上,Swift已經(jīng)逼近C++的表現(xiàn), 將近是OC運(yùn)行速度的1.4倍。

  總結(jié): 使用 Swift,程序員只要維護(hù)原來(lái)一半量的代碼文件,手動(dòng)的代碼同步工作為零,標(biāo)點(diǎn)輸入出錯(cuò)的概率也遠(yuǎn)遠(yuǎn)低于以前 -- 這樣就能騰出更多的時(shí)間寫(xiě)高質(zhì)量的代碼。通過(guò)使用可選類型 —— 一種針對(duì)返回或不返回值的編譯時(shí)安全機(jī)制,而返回值是同步操作、網(wǎng)絡(luò)失效時(shí)無(wú)效的用戶輸入以及數(shù)據(jù)驗(yàn)證錯(cuò)誤發(fā)生時(shí)普遍會(huì)遇到的問(wèn)題。ARC 在 Swift 中對(duì)過(guò)程式 C 風(fēng)格的代碼,還有蘋(píng)果公司 Cocoa 框架使用的面向?qū)ο蟠a都進(jìn)行了統(tǒng)一。

  二。 Swift的內(nèi)存管理是怎樣的?

  Swift 使用自動(dòng)引用計(jì)數(shù)(Automatic Reference Counting, ARC)來(lái)簡(jiǎn)化內(nèi)存管理, 這種內(nèi)存管理方式相比GC而言,對(duì)程序員的要求較高, 并且ARC比GC更容易引起編程錯(cuò)誤,但卻比GC快。尤其在性能很重要的場(chǎng)合。

  三。 Swift 支持面向過(guò)程編程嗎?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1SL6341B USB3.2 Gen1X1 接口的的4口HUB
  2. 2.94 MB   |  5次下載  |  免費(fèi)
  3. 2設(shè)計(jì)院eplan 500多頁(yè)項(xiàng)目圖紙
  4. 21.43 MB   |  3次下載  |  1 積分
  5. 3WIFI智能音箱原理圖完整版
  6. 0.09 MB   |  3次下載  |  10 積分
  7. 4和芯潤(rùn)德USB3.0HUB芯片SL6341設(shè)計(jì)資料
  8. 2.58 MB   |  2次下載  |  免費(fèi)
  9. 5面向汽車T-BOX與域控制器的HIL測(cè)試新方案
  10. 5.17 MB   |  2次下載  |  5 積分
  11. 6stm32sx1262資料大全
  12. 7.98 MB   |  2次下載  |  免費(fèi)
  13. 7國(guó)產(chǎn)全志T536系列-國(guó)產(chǎn)工業(yè)級(jí)-米爾核心板開(kāi)發(fā)板
  14. 3.66 MB  |  2次下載  |  免費(fèi)
  15. 8H10-T108KYG/5M數(shù)據(jù)表
  16. 0.73 MB   |  2次下載  |  免費(fèi)

本月

  1. 1新概念模擬電路第四冊(cè)信號(hào)處理電路電子書(shū)免費(fèi)下載
  2. 10.69 MB  |  53次下載  |  免費(fèi)
  3. 2800VA純正弦波逆變器的參考設(shè)計(jì)
  4. 2.96MB   |  19次下載  |  免費(fèi)
  5. 3SW6308V原理圖設(shè)計(jì)指南
  6. 0.75 MB   |  14次下載  |  1 積分
  7. 4SW6308V三口多協(xié)議升降壓移動(dòng)電源SOC中文手冊(cè)
  8. 1.61 MB   |  14次下載  |  1 積分
  9. 5純電動(dòng)汽?的主要部件及?作原理
  10. 5.76 MB   |  12次下載  |  5 積分
  11. 6GP328和GP88S對(duì)講機(jī)的維修實(shí)列資料合集免費(fèi)下載
  12. 0.03 MB   |  10次下載  |  10 積分
  13. 7SW6308V寄存器手冊(cè)
  14. 1.08 MB   |  10次下載  |  1 積分
  15. 8Type-C VL160數(shù)據(jù)手冊(cè)
  16. 0.92 MB   |  9次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935115次下載  |  10 積分
  3. 2開(kāi)源硬件-PMP21529.1-4 開(kāi)關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420061次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191365次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  10. 158M  |  183329次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73805次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65985次下載  |  10 積分