错误:初始化程序只能在类型中声明

时间:2015-12-17 07:06:52

标签: ios swift

这是我的代码

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 个答案:

答案 0 :(得分:18)

从便捷初始化程序调用专用初始值设定项 与self.init(...)

self.init(CGImage: image.CGImage!)

没有self.(如果调用超类初始化程序,则为super.) 编译器错误地将init(...)用于init的声明 方法