2015-12-17 12 views
14

Ecco il mio codiceerrore: Inizializzatori possono essere dichiarati soltanto all'interno di un tipo

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

Su init(CGImage: image.CGImage!), ottengo l'errore

Initializers may only be declared within a type

risposta

18

L'inizializzatore dedicato viene chiamato dalla convenienza initializer con self.init(...):

self.init(CGImage: image.CGImage!) 

senza self. (o super. se si chiama l'inizializzatore della superclasse) errori del compilatore init(...) per la dichiarazione di un metodo init .

+0

Oh sì! Il mio male, deve essere rimosso durante il refactoring del codice. Grazie, –

Problemi correlati