2015-08-19 13 views
5

Mam następujący kod:Swift 2 & 3: Jak używać CGBitmapContextCreate

let ref:CGContextRef = CGBitmapContextCreate(nil , 200, 130, CGImageGetBitsPerComponent(self.CGImage), 0, CGImageGetColorSpace(self.CGImage), CGImageGetBitmapInfo(self.CGImage)) 

Problemem jest to, że otrzymuję ten błąd:

Expression nie typowi 'NilLieralConvertible'

Co powinienem podać zamiast zerowej pierwszej argumentacji i dlaczego?

Odpowiedz

12

Problem to argument ostatni. Zrób ostatni argument CGImageGetBitmapInfo(self.CGImage).rawValue.

+0

działa! Teraz próbuję zrozumieć dlaczego. – zumzum

+3

To dlatego, że natura typów bitmasków całkowicie zmieniła się w Swift 2.0. A CGBitmapInfo jest typem maski bitowej. – matt

+1

Działa również dla Swift 3 –