我在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
答案 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?