ios – 在解开可选值时意外地发现了nil

ios – 在解开可选值时意外地发现了nil,第1张

概述在我的应用程序中,我正在检查帖子是否有图片. 为此,我使用: if pictures[string]? != nil { if var image: NSData? = pictures[string]? { imageView.image = UIImage(data: image!) }} 但是,它仍然会出现错误: fatal error: unexpecte 在我的应用程序中,我正在检查帖子是否有图片.

为此,我使用:

if pictures[string]? != nil {    if var image: NSData? = pictures[string]? {        imageVIEw.image = UIImage(data: image!)    }}

但是,它仍然会出现错误:

Fatal error: unexpectedly found nil while unwrapPing an Optional value.

我确信它很容易修复,但我对此很新 – 我做错了什么?

解决方法 尝试这样做:

if let imageData = pictures[string] {    if let image = UIImage(data: imageData) {        imageVIEw.image = image    }}

假设字符串是有效密钥.

您正在处理选项,因此在使用之前有条件地解包每个返回对象.

强制展开是危险的,只有在您完全确定可选项包含值时才应使用.您的imageData可能没有正确的格式来创建图像,但无论如何您都强行打开它.这在Objective-C中是可以的,因为它只是意味着nil对象被传递.斯威夫特并不那么宽容.

总结

以上是内存溢出为你收集整理的ios – 在解开可选值时意外地发现了nil全部内容,希望文章能够帮你解决ios – 在解开可选值时意外地发现了nil所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存