Cocoa框架导入:如果它在你的pch中,是否有必要在标题中?

时间:2011-02-22 06:18:49

标签: objective-c cocoa

根据标题,如果您的预编译标头(#import <Cocoa/Cocoa.h>)中包含相同的导入,我感兴趣的是从类标题中删除.pch是好还是坏。

Apple的样板类包括导入,但Xcode中的默认项目设置也将Cocoa框架导入默认的预编译头文件。

在我看来,这是一个风格问题,但我对意见和建议感兴趣。

3 个答案:

答案 0 :(得分:2)

我仍然导入它们,因为它有点确定了课程的作用和要求。如果该类可以在其他项目中共享,尤其如此。

否则,你是金色的。

答案 1 :(得分:2)

我通常会删除它们,因为我知道这些文件只会在当前项目中使用。对于可重复使用的文件(因此可能在PCH中没有或没有定义的项目中使用),我倾向于将它们留在。

答案 2 :(得分:2)

我仍然在我的文件中导入框架头文件,因为 - 尽管是样板文件 - 如果这些文件曾在其他地方使用过,那么在标题中明确#import意味着即使其他项目的前缀也会构建它。由于某种原因,pch不会#import框架。

对我来说,更有用的问题是Cocoa.h是否需要包含在;如果我有一个仅使用基础类(如NSStringNSArray的模型类),我会将Cocoa.h导入到我的项目的Prefix.pch中,但是会导致将Foundation.h导入类标题,因为它可以更容易地在iOS / Mac项目之间共享。即使你现在不需要它,我发现提前考虑也总是好的,对我而言,如果你不打算使用AppKit中的其他类或其他任何东西,那么它在语义上会更正确。