天天看點

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

    ios中pch檔案的建立與配置
  • 2.2 儲存

    ios中pch檔案的建立與配置
  • 2.3 生成pch檔案

    ios中pch檔案的建立與配置

3、配置流程

  • 3.1 查找配置位置

    ios中pch檔案的建立與配置
  • 3.2 配置路徑

    ios中pch檔案的建立與配置

4、教你使用

  • 4.1 避短

    • 不要把絕大部分弘定義放進來。
    • 公用性小的宏定義别放進來。
  • 4.2 揚長

    • 放置公用性高的頭檔案,比如使用率較高的fundation架構,第三方庫頭檔案。
    • 為了整潔性,建立把零散的宏定義整理到某個頭檔案再将該頭檔案import入.pch檔案。
    • 如果不想使用.pch檔案,我覺得可以這麼做。
    • 以MVC架構為例。 比如有一些控件的category。為了擁有pch那樣的便利性又不想作用到其他不會使用它的檔案。
    • 我們可以将所有view層的檔案繼承同一個父類,可以在這個父類中import所有需要用到的更view層有關的公用宏定義,fundation架構及第三方庫。
    • Model層和Controller層同理。
上一篇: AFO遊記
下一篇: CF732D