我们在Objective C中定义了这样的类。
#import "MTLModel.h"
@interface Foo : MTLModel
...
@end
完全正常,直到我们想在Swift中使用该类并将此头文件foo.h
放在bridge-header.h
中时,它开始出现编译错误,说我们不能{{1} }。
" MTLModel.h"找不到文件
为什么?
编辑:
我找到的解决方法是将#import "MTLModel.h"
替换为#import MTLModel.h
并且它有效。但我仍然不知道为什么会这样。
编辑2:
我们理解为什么没有include标头就可以工作。这是因为我们已经将此@class MTLModel;
放在预编译头文件中。或者在另一项工作中,我们也不需要将#import "Mantle/MTLModel.h"
放在那里。我们可以将@class MTLModel;
替换为#import "MTLModel.h"
,它也有效。
我们唯一不太了解的原因是原始#import "Mantle/MTLModel.h"
。但是在这一点上它不那么重要,我们可能有一条包含它的路径。