Ошибка: инициализаторы могут быть объявлены только в типе

Здесь мой код

extension UIImage {
    convenience init(color: UIColor, size: CGSize = CGSizeMake(1, 1)) {
        let rect = CGRectMake(0, 0, size.width, size.height)
        UIGraphicsBeginImageContext(rect.size)

        let context = UIGraphicsGetCurrentContext()
        CGContextSetFillColorWithColor(context, color.CGColor)
        CGContextFillRect(context, rect)

        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

        init(CGImage: image.CGImage!)
    }
}

Вкл init(CGImage: image.CGImage!), я получаю ошибку

Инициализаторы могут быть объявлены только в типе

Ответы

Ответ 1

Выделенный инициализатор вызывается из инициализатора удобства с self.init(...):

self.init(CGImage: image.CGImage!)

Без self. (или super., если вы вызываете инициализатор суперкласса) ошибка компилятора init(...) для объявления инициализации Метод.