‘ – :发送到实例的无法识别的选择器

我用它来生成一个大图像:

let context = CIContext(options: nil) let bitmapImage: CGImageRef = context.createCGImage(image, fromRect: extent)! CGContextSetInterpolationQuality(bitmapRef, CGInterpolationQuality.None) CGContextScaleCTM(bitmapRef, scale, scale); CGContextDrawImage(bitmapRef, extent, bitmapImage); let scaledImage: CGImageRef = CGBitmapContextCreateImage(bitmapRef)! return UIImage(CGImage: scaledImage) 

它在iOS 9和10中运行良好但不是8.我在调试器中得到了这个:

由于未捕获的exception’NSInvalidArgumentException’而终止应用程序,原因:’ – [CIContext initWithOptions:]:无法识别的选择器发送到实例0x7f868d5dc8e0′

此外。 我尝试使用let context = CIContext()代替。 但是我在第二行得到了零。 我正在使用Xcode 8和Swift 2.3。 请在这件事上给予我帮助! 谢谢!

我不知道这是否可行,但我们应该尝试一下:让我们在Objective-C中写下这一行。 所以:

ContextMaker.h

 #import  #import  @interface ContextMaker : NSObject + (CIContext*) makeMeAContext; @end 

ContextMaker.m

 #import "ContextMaker.h" @implementation ContextMaker + (CIContext*) makeMeAContext { return [CIContext contextWithOptions:nil]; } @end 

桥接标题:

 #import "ContextMaker.h" 

迅速:

 let c = ContextMaker.makeMeAContext() 

它只需要你花一点时间来尝试它,所以试一试,看看我们是否可以通过那条麻烦的线路……