为什么默认的xcode类头导入Foundation / Foundation.h?

时间:2013-10-05 04:54:04

标签: ios objective-c xcode

默认文件:

#import <Foundation/Foundation.h>

@interface MyClass : NSObject

@end

我的理解是预编译的头文件包含在每个文件中。为什么这个导入只是进入预编译的头文件?

2 个答案:

答案 0 :(得分:3)

无法保证每个项目都有一个导入Foundation.h的.pch文件,因此Xcode需要生成它以确保新文件始终编译。

也有人认为包含标题是好的风格,即使它已包含在.pch文件中。因为您确切知道此文件需要哪些标头。它还允许人们在需要时禁用前缀头。

答案 1 :(得分:1)

我的Xcode 5似乎没有在每个类中包含它(它包含在.pch文件中)。我同意你的观点,这比在任何地方都包含它更有意义。您的问题的答案可能是“对Apple的疏忽”:)