【问题标题】:How to find the Swift translation of an Obj-C enum [duplicate]如何找到 Obj-C 枚举的 Swift 翻译
【发布时间】:2016-01-07 19:52:59
【问题描述】:

我在 Obj-C 中定义了一个枚举:

typedef enum {
    VUObjectSyncStatusSynced = 0,
    VUObjectSyncStatusCreated,
    VUObjectSyncStatusDeleted,
} VUObjectSyncStatus;

我尝试使用 Swift 中的值之一 - .Created - 但得到错误:

 Type 'VUObjectSyncStatus' has no member 'Created'

它应该,但无论如何。我将使用它被翻译的内容。但是,代码完成并没有给我任何选择。

那么两个部分 - 具体来说,VUObjectSyncStatusCreated 的 Swift 版本会是什么?其次,如果代码完成不起作用,我该如何在未来的情况下发现这一点?

【问题讨论】:

  • 将 Obj-C 枚举声明为NS_ENUM,它将正常工作。
  • @Sulthan 有没有办法按原样使用枚举?
  • @Sulthan 知道了 - 如果我只使用 VUObjectSyncStatusCreated 就可以在 Swift 中使用它

标签: objective-c swift enums


【解决方案1】:

像这样声明你的枚举,它应该可以工作

typedef NS_ENUM(NSUInteger, VUObjectSyncStatus) {
    VUObjectSyncStatusSynced,
    VUObjectSyncStatusCreated,
    VUObjectSyncStatusDeleted
};

告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 2011-05-09
    相关资源
    最近更新 更多