‘ – :发送到实例的无法识别的选择器
我用它来生成一个大图像:
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()
它只需要你花一点时间来尝试它,所以试一试,看看我们是否可以通过那条麻烦的线路……