swift – 使用CoreImage“这个类不符合键值编码”

swift – 使用CoreImage“这个类不符合键值编码”,第1张

概述我正在使用 Swift中的一个简单的MacOS命令行应用程序.我创建了一个自定义CoreImage过滤器,并且使用它有麻烦.代码编译得很好但是当它运行时退出时出现以下错误: *** Terminating app due to uncaught exception ‘NSUnknownKeyException’, reason: ‘[ setValue:forUndefinedKey:]: thi 我正在使用 Swift中的一个简单的MacOS命令行应用程序.我创建了一个自定义CoreImage过滤器,并且使用它有麻烦.代码编译得很好但是当它运行时退出时出现以下错误:

*** Terminating app due to uncaught exception ‘NSUnkNownKeyException’,reason: ‘[ setValue:forUndefinedKey:]:
this class is not key value Coding-compliant for the key inputimage.’

任何有关此问题的帮助将不胜感激.尝试在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 hereguard    let result = filter.outputimageelse {    return nil}return result
符合键值编码的属性必须标记为动态
dynamic var inputimage : CIImage?

在Swift 4中甚至是@objc

@objc dynamic var inputimage : CIImage?
总结

以上是内存溢出为你收集整理的swift – 使用CoreImage“这个类不符合键值编码”全部内容,希望文章能够帮你解决swift – 使用CoreImage“这个类不符合键值编码”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1029733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存