2015-11-02 43 views
0

为什么当我按照Big Nerd Ranch第4版时,我总是需要为包含UIView, UIViewController, CG东西的任何类导入#import <UIKit/UIKit.h>,但解决方案中的代码在某种程度上没有它?是否有任何Xcode合规性设置可以使其仅在#import <Foundation/Foundation.h>导入时正常工作? 例如,在第12章,在那里他们创造TouchTracker应用程序,它们的代码工作得很好用:Big Nerd Ranch UIKit导入

#import <Foundation/Foundation.h> 

@interface BNRLine : UIView 

    @property (nonatomic) CGPoint begin; 
    @property (nonatomic) CGPoint end; 

@end 

然而,当我将此代码复制到我的项目不无额外#import <UIKit/UIKit.h>线工作。

回答

1

他们可能使用.pch导入。基本上这意味着在每个源文件之前它将被导入和执行。 This tutorial看起来像一个你可以看到发生了什么。

1

它们可能在具有.pch扩展名的预编译头文件中有额外的导入。你可以在他们的项目中搜索这个文件。

在Xcode中,如果您通过命令点击导入语句,可以调出详细的导入列表,并且应该回答您可能对导入内容有任何疑问的问题。