2015-10-06 62 views
-1

有一个应用程序,我键入用户名,从imagePickerController中选择一张图片,所有的数据保存到核心数据,并检索到tableview单元格,并工作正常,但如果我不选择图片应用程序崩溃与日志“意外地发现零,同时展开一个可选值”,我忘了如何做到这一点,不记得我在哪个项目解决了。CoreData意外地发现零,而解包一个可选值

let imageData = NSData(data: UIImageJPEGRepresentation(photoImageView.image!, 1.0)!) 
newUser.setValue(imageData, forKey: "image") 

喜欢的东西,如果图像数据!=零{ } ??

+1

*您有*阅读本:斯威夫特选配(https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/ TheBasics.html#// apple_ref/doc/uid/TP40014097-CH5-ID330)(Apple文档)。 – Moritz

回答

2

尝试if let image = photoImageView.image {//use the image}。这将以安全的方式打开可选项。

当你使用!运算符时要小心,你基本上保证这个东西永远不会是零。使用if let语句或?运算符,除非绝对没有办法使所讨论的变量为零。

-2

解决这个

if photoImageView == nil { 
     let imageData = NSData(data: UIImageJPEGRepresentation(photoImageView.image!, 1.0)!) 
     newUser.setValue(imageData, forKey: "image") 
    } 
+0

为什么缺点,我只是在学习,你们都在那里。 – Igy

+0

'if photoImageView == nil' then'photoImageView.image!'**将**崩溃,就像它已经做的那样。如果你真的想学习,你应该阅读你的问题的答案和链接。无论如何,你应该检查你发布的代码是否真的有效。 – Moritz

+0

我的答案是“阅读我在提问中提供的链接”,它包含了你的答案。 – Moritz

相关问题