自定义swift对象数组不能转为objective-c类型
an array of self-defined swift object can't be converted to objective-c type
swift
的新手
我正在做一个混合语言 (Swift & Objective-C) 程序,在尝试 时遇到错误将 Swift 导入 Objective-C
这是我的代码
@objc public enum ItemType: Int {
case left, right
}
public class MyClass {
@objc var items: [ItemType] = []
}
这是错误
enter image description here
ItemType
似乎有问题,但我确实在 -swift.h
文件
中看到了 ItemType
的定义
谁能给我点提示吗?
Swift 和 Objective-c 枚举的性质非常不同。旧 Objective-c 枚举是现代 Swift 枚举的非常小的子集。目前编译器不知道如何使用 Objective-c 代码中的 Swift 枚举,因此它们不能是 @objc 类型。 MyClass 也不能是 @objc 类型,因为它包含 swift 的枚举。
swift
的新手我正在做一个混合语言 (Swift & Objective-C) 程序,在尝试 时遇到错误将 Swift 导入 Objective-C
这是我的代码
@objc public enum ItemType: Int {
case left, right
}
public class MyClass {
@objc var items: [ItemType] = []
}
这是错误 enter image description here
ItemType
似乎有问题,但我确实在 -swift.h
文件
ItemType
的定义
谁能给我点提示吗?
Swift 和 Objective-c 枚举的性质非常不同。旧 Objective-c 枚举是现代 Swift 枚举的非常小的子集。目前编译器不知道如何使用 Objective-c 代码中的 Swift 枚举,因此它们不能是 @objc 类型。 MyClass 也不能是 @objc 类型,因为它包含 swift 的枚举。