2015-11-02 25 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中,如果您通過命令點擊導入語句,可以調出詳細的導入列表,並且應該回答您可能對導入內容有任何疑問的問題。