我有一个名为 ObserveType
的 NS_ENUM
,它有两个属性,分别称为 Observe
和 ObserveAll
。如图所示,我可以访问ObserveAll
属性,但是我无法访问Observe
。
NS_ENUM 在 objective-C 的头文件中。
我知道将 Observe
更改为 ObserveX
或 ObserveXYZ
会起作用。
但是如何在不更改 Observe
名称的情况下访问 Observe
?
注意我必须在 Swift 上访问 Observe
。
最佳答案
除了上述答案之外,我想指出的是,您可以使用 NS_SWIFT_NAME
宏为您的 Objective-C NS_ENUM 指定一个 Swift 名称:
typedef NS_ENUM(NSUInteger, XYZAwesomeEnum) {
XYZAwesomeEnumA,
XYZAwesomeEnumB,
XYZAwesomeEnumC,
} NS_SWIFT_NAME(AwesomeEnum);
稍后在 Swift 中使用它:
AwesomeEnum.a
关于objective-c - 在 Swift 中访问 Objective-C 的 NS_ENUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38366720/