2013-07-15 20 views
5

自分のプロジェクトの99%で私のDataManagerシングルトンクラスを使用します。すべてのクラスでインポートするのではなく、私の定数と同じようにpchファイルの中にインポートすることを考えました。 これには何らかの欠点がありますか?それは悪い練習とみなされますか?Project_Prefix.pchを使用して私のシングルトンクラスをインポートする - 悪い練習ですか?

おかげ

#import <Availability.h> 

#ifndef __IPHONE_5_0 
#warning "This project uses features only available in iOS SDK 5.0 and later." 
#endif 

#ifdef __OBJC__ 
    #import <UIKit/UIKit.h> 
    #import <Foundation/Foundation.h> 
    #import "Constants.h" 
    #import "DataManager.h" 
#endif 
+3

悪い習慣は、あなたのコードが多くの隠れたカップリングを持っているので、このクラスに99%依存していることです。 –

+3

@Maria多分、それは疑問ではありませんでした。 – Segev

答えて

1

(輸入はほとんどのファイルで使用されていない場合、あなたのケースではありませんこれもと)ヘッダはあまり変化しない場合はPCHにインポートを含めるために、その悪くありません。 、

NSTimeInterval saved = (time that would have been spent compiling XYZ.h plus every header it #imports in each file that included it every build); 

NSTimeInterval wasted = (time spent recompiling files that do not include XYZ.h when XYZ.h changed); 

if (saved > wasted) goodPractice = YES; 

だから、任意のシステムを、この質問のために受け入れ答えをチェックし、

Is there a reason for which one should not add all the imports inside .pch file?

3

プロジェクトの期間にわたって、XYZ.hは以下のようになり#importingの良い練習のための評価をdecide- #importとライブラリ#importsのほとんどは、優れた候補です。他に何か;もしあなたのコードの95%がその特定のヘッダーで再コンパイルされていれば、それをそこに置くことは意味があります。被験者のThere's a good writeup here

+0

+1この回答の形式 –

関連する問題