2016-12-28 157 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"