Objective c Objc中定义的枚举>;以Swift格式申报>;用于Objc
我有个情况。如果有人能解决这个问题,我将不胜感激Objective c Objc中定义的枚举>;以Swift格式申报>;用于Objc,objective-c,swift,enums,objc-bridging-header,Objective C,Swift,Enums,Objc Bridging Header,我有个情况。如果有人能解决这个问题,我将不胜感激 我有一个objCenumsayAbc 我在一个swift类中声明它,比如说,MySwiftClass.swiftasvar-abc:abc 我已经在另一个ObjC类(myObjC.m文件)中创建了myswitclass(myswitclass)的实例 在myObjC.m中,我试图以mySwiftClass.Abc的形式访问enum Abc 这将引发一个错误-“在MyswitClass*类型的对象上找不到属性'abc'。 基本上,枚举没有作为属
- 我有一个objC
sayenum
Abc
- 我在一个swift类中声明它,比如说,
asMySwiftClass.swift
var-abc:abc代码>
- 我已经在另一个ObjC类(myObjC.m文件)中创建了myswitclass(
)的实例myswitclass
- 在myObjC.m中,我试图以
的形式访问enum AbcmySwiftClass.Abc
注意:将Swift类标记为@objc不起作用。数字Swift选项不能在Objective-C中表示,因此不会暴露于Objective-C中。请声明
abc
不是可选的,应该可以从Objective-C获得
考虑这个Objective-C枚举:
typedef NS_ENUM(NSInteger, Foo) {
FooBar,
FooBaz,
FooQux
};
然后考虑SWIFT 3类:
class SomeObject: NSObject {
var foo1: Foo = .bar // this is exposed to Objective-C
var foo2: Foo! = .bar // this is not
}
非可选的foo1
将暴露于Objective-C,而可选的foo2
将不暴露于Objective-C