为啥我在设置 CIAdditionCompositing 过滤器时会看到 NSUnknownKeyException?

Posted

技术标签:

【中文标题】为啥我在设置 CIAdditionCompositing 过滤器时会看到 NSUnknownKeyException?【英文标题】:Why am I seeing an NSUnknownKeyException when setting up a CIAdditionCompositing filter?为什么我在设置 CIAdditionCompositing 过滤器时会看到 NSUnknownKeyException? 【发布时间】:2013-02-21 19:11:09 【问题描述】:

我正在尝试使用以下代码设置 CIAdditionCompositing 过滤器:

CIImage *imageOne = [CIImage imageWithCGImage:[UIImage imageNamed:@"picOne"].CGImage];
CIImage *imageTwo = [CIImage imageWithCGImage:[UIImage imageNamed:@"picTwo"].CGImage];

filter = [CIFilter filterWithName:@"CIAdditionCompositing"];
[filter setDefaults];
[filter setValue:imageOne forKey:kCIInputImageKey];
[filter setValue:imageTwo forKey:kCIInputBackgroundImageKey];

CIImage *imageResult  = [filter outputImage];
CGImageRef imageRef = [context createCGImage:imageResult fromRect:imageResult.extent];
_imageView.image = [UIImage imageWithCGImage:imageRef];

我看到以下错误:

由于未捕获的异常“NSUnknownKeyException”而终止应用程序, 原因:'[<__nscfconstantstring> setValue:forUndefinedKey:]: 此类与键 inputImage 的键值编码不兼容。'

上线

[filter setValue:imageOne forKey:kCIInputImageKey];

我在设置这个 Core Image 滤镜时做错了什么?

【问题讨论】:

如果您能提供更多信息会很有帮助。例如,哪一行抛出异常? 异常 - UnknownKey! kCIInputImageKey = @"inputImage" 【参考方案1】:

有点奇怪,这个方法行得通……

filter = [CIFilter filterWithName:@"CIAdditionCompositing" keysAndValues:kCIInputImageKey, imageOne, kCIInputBackgroundImageKey, imageTwo, nil];

谁能解释一下区别?

【讨论】:

以上是关于为啥我在设置 CIAdditionCompositing 过滤器时会看到 NSUnknownKeyException?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在 Google 地图中使用 GroundOverlay 设置图像时会变形?

当我在 Android 设置中手动禁用位置时,为啥 Android 前台服务会停止?

为啥我在设置中收到“'Bars' 不能用作实体类型 'Foo' 的属性”?

为啥内存使用量大于我在 Kubernetes 的节点中设置的?

为啥我在 Nodejs 中收到“无法在将标头发送到客户端后设置标头”错误?

为啥我在 number_to_currency 中的区域设置不起作用?