1

快速入门的新手

我正在做一个混合语言(Swift 和 Objective-C)程序,并在尝试将 Swift 导入到 Objective-C时遇到错误

这是我的代码

@objc public enum ItemType: Int {
  case left, right
}
public class MyClass {
  @objc var items: [ItemType] = []
}

这是错误 在此处输入图像描述

似乎有什么问题,ItemType但我确实ItemType在我的-swift.h文件中看到了

任何人都可以给我一个提示吗?

4

1 回答 1

0

Swift 和 Objective-c 枚举在本质上是非常不同的。旧的 Objective-c 枚举是现代 Swift 枚举的一个很小的子集。目前编译器不知道如何在 Objective-c 代码中使用 Swift 的枚举,所以它们不能是 @objc 类型。MyClass 也不能是 @objc 类型,因为它包含 swift 的枚举。

于 2017-07-29T22:34:16.547 回答