swift – 使用CoreImage“这个类不符合键值编码”
发布时间:2020-12-14 05:23:29 所属栏目:百科 来源:网络整理
导读:我正在使用 Swift中的一个简单的MacOS命令行应用程序.我创建了一个自定义CoreImage过滤器,并且使用它有麻烦.代码编译得很好但是当它运行时退出时出现以下错误: *** Terminating app due to uncaught exception ‘NSUnknownKeyException’,reason: ‘[ setVa
我正在使用
Swift中的一个简单的MacOS命令行应用程序.我创建了一个自定义CoreImage过滤器,并且使用它有麻烦.代码编译得很好但是当它运行时退出时出现以下错误:
任何有关此问题的帮助将不胜感激.尝试在SO上搜索答案,但由于我的应用程序不使用Storyboard或Outlets(它是纯粹的命令行),遗憾的是我无法自拔. 我的程序在这一行上打破了: filter.setValue(inputImage,forKey: kCIInputImageKey) 这是我正在使用的代码: class CustomFilter:CIFilter { var inputImage:CIImage? let kernelString = CIKernel(string: "kernel vec4 chromaKey( __sample s) { n" + " vec4 newPixel = s.rgba;" + " newPixel[0] = 0.0;" + " newPixel[2] = newPixel[2] / 2.0;" + " return newPixel;n" + "}" ) override var outputImage:CIImage! { guard let inputImage = inputImage else { return nil } let extent = inputImage.extent let blur = kernelString?.apply( withExtent: extent,roiCallback: { (index,rect) in return rect },arguments: [inputImage]) return blur!.cropping(to: extent) } } let filter = CustomFilter() filter.setValue(inputImage,forKey: kCIInputImageKey) // it breaks here guard let result = filter.outputImage else { return nil } return result
符合键值编码的属性必须标记为动态
dynamic var inputImage : CIImage? 在Swift 4中甚至是@objc @objc dynamic var inputImage : CIImage? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |