ios中pch文件的创建与配置
1、pch預編譯頭文件的利與弊
1.1 說明:
.pch文件是一個頭文件,定義在.pch文件中的內容能夠被項目中的其他文件訪問。
簡單來說,在.pch文件中定義的弘定義會作用到項目中的所有文件。 對于xcode6中創建工程不在自動添加.pch文件了。
查了下資料,很多資料認為.pch文件會影響效率。我到時覺得.pch文件總體上會加速編譯,因為xcode會對.pch文件中的定義預編譯并緩存。
至于為什么會在xcode6中被踢掉,我猜是因為很多開發者使用方式不對,反而導致減慢編譯速度了吧。
在Xcode6之前,創建一個新的Project,Xcode會在Supporting files文件夾下面自動創建一個“工程名-Prefix.pch”文件,
也是一個頭文件,pch頭文件的內容能被項目中的其他所有源文件共享和訪問,是一個預編譯頭文件。
1.2 預編譯頭文件的用途主要有:
存放一些全局的宏(整個項目中都用得上的宏)
用來包含一些全部的頭文件(整個項目中都用得上的頭文件)
能自動打開或者關閉日志輸出功能
1.3 弊端
但是!為什么蘋果在Xcode6取消了這個功能呢,綜合考慮有以下副作用:
不利于代碼移植
如果同一份代碼需要在多個項目中使用,過度使用PCH就會帶來麻煩。
假設項目A中PCH加了這樣一行代碼:#import <Security/Security.h> ,而你的某個組件使用了Security,
將組件代碼copy到了項目B中可能編譯不了,因為項目B中的PCH并沒有添加Security.h。
隱式依賴關系
本來我們可以通過掃描xxxx.h文件和xxxx.m文件來找到所以來的模塊,但是濫用PCH會讓這些以來關系被掩蓋,因為文件中可能隱式的依賴了PCH中定義的某些頭文件。
所以我們應該節制的使用PCH。
2、創建流程
2.1 創建文件快捷鍵Command + N,輸入pch
2.2 保存
2.3 生成pch文件
3、配置流程
3.1 查找配置位置
3.2 配置路徑
4、教你使用
4.1 避短
不要把絕大部分弘定義放進來。
公用性小的宏定義別放進來。
4.2 揚長
放置公用性高的頭文件,比如使用率較高的fundation框架,第三方庫頭文件。
為了整潔性,建立把零散的宏定義整理到某個頭文件再將該頭文件import入.pch文件。
如果不想使用.pch文件,我覺得可以這么做。
以MVC架構為例。 比如有一些控件的category。為了擁有pch那樣的便利性又不想作用到其他不會使用它的文件。
我們可以將所有view層的文件繼承同一個父類,可以在這個父類中import所有需要用到的更view層有關的公用宏定義,fundation框架及第三方庫。
Model層和Controller層同理。
總結
以上是生活随笔為你收集整理的ios中pch文件的创建与配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3 执行系统命令_Pytho
- 下一篇: python excel数据分析实战_一