我的框架中的一个类中有一个带有原始值的枚举,我想与另一个类一起使用。我收到以下错误。
'types' is inaccessible due to 'internal' protection level
从此行...
var table = sdb?.getTable(LoggerStartup.eTables.types)
这是我框架中的枚举
public class LoggerStartup : NSObject
{
public enum eTables
{
static let users = 100
static let types = 200
static let items = 300
static let measures = 400
}
}
根据我所看到的,我不确定是否可以使用原始值?
答案 0 :(得分:3)
static
属性在默认情况下仍为internal
,您也必须声明它们public
:
public class LoggerStartup : NSObject
{
public enum eTables
{
public static let users = 100
public static let types = 200
public static let items = 300
public static let measures = 400
}
}
当然,如果您使用实际的枚举,则情况会有所不同:
public enum eTables: Int {
case users = 100
case types = 200
case items = 300
case measures = 400
}
在这种情况下,您将可以直接使用eTables.types
。