[NSNull CGImage]:选择资产并将其转换为 JPEG 时出现无法识别的选择器异常
Posted
技术标签:
【中文标题】[NSNull CGImage]:选择资产并将其转换为 JPEG 时出现无法识别的选择器异常【英文标题】:[NSNull CGImage]: unrecognized selector exception when picking an asset and converting it to JPEG 【发布时间】:2014-11-25 11:58:50 【问题描述】:我正在使用CTAssetPicker
(https://github.com/chiunam/CTAssetsPickerController) 来挑选图像,将它们转换为 JPEG 并将它们保存在远程存储位置。到目前为止一切顺利,直到最近(而且很少)我在挑选资产后开始收到奇怪的异常:
NSInvalidArgumentException
-[NSNull CGImage]: unrecognized selector sent to instance 0x3759f3f0
当调用 UIImageJPEGRepresentation
并使用从资产选择器返回的图像时会发生这种情况。
我试图通过向 JPEG 转换发送空值来重现这一点,但事实并非如此。我发送的UIImage
s 中的CGImage
似乎为空,但我不知道为什么会这样。
【问题讨论】:
【参考方案1】:问题是您没有收到图像。您可以使用此代码重现您的错误:
id youThinkYourServerRetunrAnImage = [[NSNull alloc] init];
UIImage *image = youThinkYourServerRetunrAnImage;
[image CGImage];
您需要修正您的请求。
【讨论】:
我一直试图通过传递nil
而不是 NSNull
的实例来复制。哎呀。现在我需要弄清楚为什么它返回NSNull
。谢谢!
NSNull 是默认类,例如 JSON 在键中有 以上是关于[NSNull CGImage]:选择资产并将其转换为 JPEG 时出现无法识别的选择器异常的主要内容,如果未能解决你的问题,请参考以下文章
Swift 中 ALAssetRepresentation CGImage 的内存泄漏
如何自动检测已登录的用户并将其转至仪表板页面,而无需再在Ionic 4和firebase中登录
颤振flutter_webview_plugin错误[NSNull长度]:无法识别的选择器发送到ios上的实例
通过 Core Image 框架复制结果 `func masking(_ mask: CGImage) -> CGImage?`