所以我正在尝试使用@objc swift类作为我的Objective-C头文件的属性。
例
@objc class SwiftClass: NSObject {
}
@interface ObjcObject : NSObject
#pragma mark - Public Properties -
@property (nonatomic, weak) SwiftClass* swiftClass;
但是,如果我使用
#import ProjectName-Swift.h
,则会出现以下错误:“'ProjectName-Swift.h'文件未找到'我在这里找到答案,这意味着您实际上无法将Swift导入头文件https://stackoverflow.com/a/29951314/3877767
那我应该如何与objc代码一起使用swift代码呢?如果您不能将@objc标记为swift类作为objc头文件上的属性,则不会调用swift和objc互操作
所以在我的
App-Bridging-Header.h
里面#import "ObjcClass.h"
在我的
ObjcClass.h
里面 #import "ProjectName-Swift.h"
这给出了错误
ProjectName-Swift.h can't find file
要么删除
#import ProjectName-Swift.h
,要么#import ObjcClass.h
可以解决问题,但是我不能分别使用Swift / OBJC代码 最佳答案
您不导入头文件。您将其作为所谓的“桥接标头”提供给编译器,它告诉编译器在两种语言环境之间共享什么。
您需要将头文件放在Objective-C桥接头下,如下所示:
关于ios - #import ProjectName-Swift.h到头文件中无法将swift用作.h属性吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35305161/