«MyEnum» недоступен из-за «внутреннего» уровня защиты - PullRequest
0 голосов
/ 24 января 2019

В моем фреймворке есть перечисление с необработанными значениями класса, которое я хочу использовать с другим классом. Я получаю следующую ошибку.

'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
    }
}

Из того, что я видел, я не уверен, что могу иметь необработанные значения?

1 Ответ

0 голосов
/ 24 января 2019

По умолчанию 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 напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...