Phi*_*hil 17 objective-c swift
有没有办法从Objective-C头引用Swift枚举?如果你想在Objective-C头中看到Swift类,你可以使用
@objc class Foo
Run Code Online (Sandbox Code Playgroud)
我没有看到任何类似的枚举.
raf*_*raf 24
你想做什么叫做forward declaration
.要转发声明枚举,您可以执行以下操作:
enum name;
Run Code Online (Sandbox Code Playgroud)
但由于编译器不知道枚举的大小,因此您只能将其用作头文件中的指针.如果你使用像这样的编译器标志,即使这样做也可能会有问题-pedantic
.
简而言之,没有好办法做到这一点.你最好的选择不是,而是从你的实现(.m)文件中访问枚举.
在您的实现文件中,#import
您的swift桥接头文件,并且在不知道有关您的问题的更多详细信息的情况下,您可以添加使用您的枚举的私有属性,如下所示:
@interface MyObjCClassDefinedInTheHFile()
@property (nonatomic, assign) SomeSwiftEnum type;
@end
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.