2016-12-28 154 views
0

我有一個類。它的頭文件看起來像這樣無法導入頭文件

#import <UIKit/UIKit.h> 

typedef void (^SpinnerViewCompletionBlock)(); 

@interface ABResultsControllerSpinnerView : UIView 

- (void)startAnimation; 
- (void)stopAnimation; 

- (void)startAnimationWithCompletion: (SpinnerViewCompletionBlock)completion; 
- (void)stopAnimationWithCompletion: (SpinnerViewCompletionBlock)completion; 

- (UIColor *)spinnerColor; 

@end 

.m文件裏面我有這個

#import "Masonry.h" 

的問題是,編譯器給我的,它無法找到"Masonry.h"錯誤。但該文件在項目中。

問題是什麼?

+1

確保文件不僅添加到項目,但它位於項目文件夾。 – Sulthan

+0

這就是要點。非常感謝! –

回答

0

確保文件位於項目文件夾中。

編譯器不會使用所有添加到項目中的頭文件,它會使用所有可在頭文件搜索路徑中找到的頭文件。默認情況下,該路徑被設置爲項目文件夾。因此,如果您的標題在搜索路徑之外,編譯器將無法看到它。

重要的是要明白,C編譯器不能只處理添加到Xcode項目中的文件,而是有時使用文件結構(例如用於頭文件)。一些非常難以發現的錯誤可能是由此引起的 - 例如當有兩個具有相同名稱的頭文件時。

0

在我的情況下,我的項目中有C文件,但它們位於文件夾CUtilities

所以我不得不改變

#import "utility.h"

#import "CUtilities/utility.h"