按下保存按钮以编辑配置文件时,我遇到了一些麻烦:
例如图像不存在,当我按保存按钮时,它崩溃了,请在我的代码下面找到?我想念什么?
一旦删除条件(如果个人资料图片不存在),我的代码就会工作。
let profileImageData = UIImageJPEGRepresentation(imageUser.image!, 0.0)
//---------------------------------------
// Check if all fields are empty
//---------------------------------------
if (Name.text!.isEmpty && Username.text!.isEmpty && website.text!.isEmpty && aboutUser.text!.isEmpty && emailUser.text!.isEmpty && phoneUser.text!.isEmpty && genderUser.text!.isEmpty && (profileImageData == nil)) {
print("error")
}
您必须imageUser.image
在发布的第一行代码中强制展开变量的内容。当你做到这一点,将你的程序崩溃,如果值imageUser.image
是nil
。我建议你检查出的部分选配的雨燕编程语言(雨燕2.0) 。
如果imageUser.image
可以为nil,则这是您的代码的更正确版本。请注意,使用if let
语句可以安全地解包的内容imageUser.image
。值得一提的是!
,如果您在下面的代码中使用的每个位置都使用,则该位置都会崩溃nil
(这就是为什么此代码仅更正确而又不完全正确的原因)。
if let profileImage = imageUser.image {
let profileImageData = UIImageJPEGRepresentation(profileImage, 0.0)
//---------------------------------------
// Check if all fields are empty
//---------------------------------------
if (Name.text!.isEmpty && Username.text!.isEmpty && website.text!.isEmpty && aboutUser.text!.isEmpty && emailUser.text!.isEmpty && phoneUser.text!.isEmpty && genderUser.text!.isEmpty && (profileImageData == nil)) {
print("error")
}
}
else {
print("image was nil")
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句