3

私はちょうど疑問に思っています.pchファイルに一般的/ほとんど使用されるヘッダーファイルを含めることは良い習慣ですか?

例: ヘッダーの下に必要なファイルのほとんど

    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>

したがって、各ファイルに必要な代わりに、それらを .pch ファイルに追加することをお勧めしますか?

.pch ファイル

     #ifdef __OBJC__
     #import <UIKit/UIKit.h>
     #import <Foundation/Foundation.h>
     #import <MostlyUsed.h>
     #endif

これにはいくつかの欠点がありました。1) 依存関係が隠されます。2) ソースファイルを直接コピーすることはできません。

これについていくつかの情報を提供していただければ幸いです。

ありがとう

4

2 に答える 2

7

はい、できます。

それでもコンパイル時間を短縮します。

Objective -C では、すべてのクラスに同じヘッダーをインポートするとコンパイル時間が長くなりますか?

一般に、新しく生成された iOS プロジェクトにはこの機能が付属しており、これはプリコンパイル済みヘッダーまたはプレフィックス ヘッダーと呼ばれ、.pch という拡張子を持つファイルです。

そこに必要なすべてのヘッダーを投げることができ、Xcode は他のものをビルドする前にそれをプリコンパイルし、それを使用してプロジェクト内の他のコンパイル ユニット (.m ファイルなど) をコンパイルします。

プリコンパイル済みヘッダーを使用すると、コンパイル時間が長くなる場合とそうでない場合があります。一般に、多くの共通ヘッダーおよび/または多くのソース ファイルがある限り、コンパイル時間が短縮されます。

ただし、コンパイル済みのヘッダーを大きなゴミ捨て場のように扱うことは、必ずしも良い方法ではありません。コンポーネント間の疎結合を強制したい場合に、コンパイル ユニットがあらゆる種類のものに対する暗黙の依存関係を形成する可能性があるためです。

于 2013-03-21T05:22:19.487 に答える
0

コンパイル時間が短縮され、コードが管理しやすくなるため、これは確かに良い方法です。

于 2013-03-21T05:23:13.323 に答える