寫iOS程序時可以不用導(dǎo)入Foundation和UIKit框架的原因

問題原因

之前也沒有想過這個問題,最近想研究一下音視頻硬編碼的一些問題,然后在看博客的時候,發(fā)現(xiàn)有人提出了,音頻硬編碼的時候

#import <AudioToolbox/AudioToolbox.h>

這句引入頭文件的代碼去掉之后,代碼可以照常編譯運(yùn)行,就質(zhì)問博主寫的是否是音頻硬編碼,下面就來解釋一下,這是為什么?

眾所周知,F(xiàn)oundation和UIKit中定義了iOS中所有對象的基類,要想開發(fā)一個在iOS上運(yùn)行的應(yīng)用,就不可避免的使用它們,但曾幾何時,寫代碼的時候,你是否發(fā)現(xiàn),你再也不用導(dǎo)入Foundation框架了,原因就是Xcode中創(chuàng)建一個新的iOS項(xiàng)目時,有些框架默認(rèn)會被自動包括在內(nèi),已經(jīng)不需要重新導(dǎo)入了。

下面就來分析一下,Xcode是怎么導(dǎo)入這些框架的。

解答:模塊 (Modules)

Modules第一次在Objective-C中公共露面是在2012 LLVM開發(fā)者大會上Apple’s Doug Gregor的一次談話。

Modules封裝框架比以往任何時候更加清潔。不再需要預(yù)處理逐行地用文件所有內(nèi)容替換#import指令。相反,一個模塊包含了一個框架到自包含的塊中,就像PCH文件預(yù)編譯的方式一樣提升了編譯速度。并且你不需要在PCH文件中聲明你要用到哪些框架,使用Modules簡單的獲得了速度上的提升。

一個Modules不僅告訴編譯器哪些頭文件組成了Modules,而且還告訴編譯器什么需要鏈接。這個就解救了你不用你去手動的鏈接框架。這雖然是一件小事,但是能讓開發(fā)更加簡單就是一件好事。

怎樣使用Modules

Modules的使用相當(dāng)簡單。對于存在的工程,第一件事情就是使這個功能生效。你可以在項(xiàng)目的Build Settings通過搜索Modules找到這個選項(xiàng),改變Enable Modules 選項(xiàng)為YES,像這樣:

image.png

所有的新工程都是默認(rèn)開啟這個功能的,但是你應(yīng)該在你所有存在的工程內(nèi)都開啟這個功能。

Link Frameworks Automatically:這個選項(xiàng)就是用來開啟或者關(guān)閉自動連接框架功能的,默認(rèn)是開啟的,如果一旦關(guān)閉這個選項(xiàng),你的工程就會報一大堆的錯誤了,用戶可以試一試,關(guān)閉這個功能,然后你必須手動導(dǎo)入一個一個框架,這對于開發(fā)者來說,無疑是一個災(zāi)難性的事件。

總結(jié)

其實(shí)本文要說的重點(diǎn)就是Modules 和 Link Frameworks Automatically,我也只是簡單了解了一下,希望能起到一個拋磚引玉的作用,有心的用戶可以多去了解一下這方面的資料。

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

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

  • 1、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明AI閱讀 16,186評論 3 119
  • 我就是一根甘蔗,直,不會拐彎抹角,一就是一,二就是二,雖然這樣的性格吃不開,容易得罪人,但我還是喜歡這樣的自己,不...
    M青衫不改舊人還閱讀 246評論 0 0
  • ?靜√智√勇√仁√強(qiáng)√禮 小結(jié): 上午讀完了《哈爾羅杰歷險記》之《智擒大猩猩》,開始讀《神秘海底城》。媽媽忙著打電...
    媽媽熊閱讀 264評論 0 0
  • 昨天收到一位朋友的簡信,寫了很長的文字,里面包含了學(xué)習(xí)、生活、工作、減肥等各方面的苦惱。她說:她想減肥,現(xiàn)在每天早...
    關(guān)家大小姐閱讀 3,593評論 11 19
  • 陰冷 城市像是在下雨 浸濕了我的日記本 于是 又多寫了幾句 陪伴著昨晚沒能刮完的風(fēng) 風(fēng)向 北東 時間把來時的歡喜追...
    DK314閱讀 129評論 0 0

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