访问 public 枚举
中的内部枚举值时出现错误代码段
@objc public enum Sample1 : Int {
case valid
fileprivate static var upgradeStatus:[String: Sample1] = [
RawString.validValue.rawValue : .valid
]
}
internal enum RawString: String {
case validValue = "Invalid"
}
错误提示
Enum 'RawString' is internal and cannot be referenced from a property initializer in a '@_fixed_layout' type
看起来是因为桥接了 @Objc ,但无法解决此问题。我无法删除 @Objc ,因为我的代码也在Objective C项目中使用。
任何人都可以帮助我解决此问题。
PS :在我更新为 Xcode 10
后,开始观察到此错误一次答案 0 :(得分:1)
您可以将upgradeStatus
转换为静态方法,这将使您的代码得以编译:
fileprivate static func upgradeStatus() -> [String: Sample1] {
return [
RawString.validValue.rawValue : .valid
]
}