当图片不存在iOS时崩溃保存我的个人资料

时间:2015-10-12 01:19:40

标签: ios swift

当我按下按钮保存以编辑个人资料时,我遇到了一些麻烦:

例如图片不存在,当我按下保存按钮时,它会崩溃,请在下面找到我的代码?我错过了什么?

如果个人资料图片不存在我删除了条件,我的代码就可以工作..



 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")

 }




1 个答案:

答案 0 :(得分:0)

您强制解包您发布的第一行代码中变量imageUser.image的内容。执行此操作时,如果imageUser.image的值为nil,则会导致应用程序崩溃。我建议您查看OptionalsThe 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")
}