当我按下按钮保存以编辑个人资料时,我遇到了一些麻烦:
例如图片不存在,当我按下保存按钮时,它会崩溃,请在下面找到我的代码?我错过了什么?
如果个人资料图片不存在我删除了条件,我的代码就可以工作..
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")
}

答案 0 :(得分:0)
您强制解包您发布的第一行代码中变量imageUser.image
的内容。执行此操作时,如果imageUser.image
的值为nil
,则会导致应用程序崩溃。我建议您查看Optionals中The Swift Programming Language (Swift 2.0)上的部分。
如果imageUser.image
可以为零,则这是您的代码的更正确版本。请注意使用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")
}