使用Project_Prefix.pch导入我的单例类 - 不好的做法?

时间:2013-07-15 08:19:40

标签: ios objective-c cocoa-touch

我在99%的项目中使用了我的DataManager单例类。而不是在每个类中导入它,我只想在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

2 个答案:

答案 0 :(得分:3)

#importing XYZ.h的良好实践评估将在项目的整个生命周期内进行,

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;

所以任何系统#import,很可能是你的大多数#imports库都是优秀的候选者。还要别的吗;好吧,如果95%的代码都是使用该特定标头重新编译的,那么确保将其放在那里是有道理的。 There's a good writeup here关于这个问题。

答案 1 :(得分:1)

如果标题没有太大变化(并且大多数文件中没有使用导入,而不是你的情况),在pch中包含导入也不错。检查此问题的已接受答案并确定 -

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