2015-12-17 5 views
14

Hier ist mein CodeFehler: Initializers kann nur innerhalb einer Art

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!) 
    } 
} 

Auf init(CGImage: image.CGImage!) deklariert werden, ich den Fehler

Initializers may only be declared within a type

Antwort

18

Der dedizierte initializer von der Bequemlichkeit initializer mit self.init(...) genannt wird:

self.init(CGImage: image.CGImage!) 

Ohne self. (oder super., wenn Sie den Superklasseninitialisierer aufrufen) der Compiler Fehler init(...) für die Deklaration eines init Methode.

+0

Oh ja! Mein Schlechter, muss beim Refactoring Code entfernt worden sein. Vielen Dank, –

Verwandte Themen