Инициализатор расширения недоступен из-за «внутреннего» уровня защиты swift 4 - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть удобный инициализатор в расширении внутри моей структуры.И я хочу использовать это в другом расширении в моем проекте.Он предоставил публичный доступ ко всему, что я мог, но компилятор продолжает говорить, что «инициализатор недоступен из-за« внутреннего »уровня защиты» ...

Вот мое расширение в фреймворке:

public extension UIColor {
    public convenience init(hex: Int) {
        self.init(red:(hex >> 16) & 0xff, green:(hex >> 8) & 0xff, blue:hex & 0xff)
    }
}

и вот мое расширение в моем проекте:

import myFramework

extension UIColor {
    class var backgroundGrey: UIColor {
        return UIColor(hex: 0xe3e8eb)
    }
}

Ошибка, когда я вызываю UIColor (hex).

Знаете ли вы, что здесь не так?

Редактировать: Я добавил импорт рамок

1 Ответ

0 голосов
/ 14 сентября 2018

Обычно ответ здесь - очистить проект. Если это не сработает, удалите DerivedData. Если это не сработает, тогда начните упрощать проект, чтобы просто сделать это (импортировать фреймворк и получить доступ к расширению), потому что в проект вмешивается что-то еще.

...