簡體   English   中英

當圖片不存在時崩潰保存我的個人資料iOS

[英]crash saving my profile when image don't exist iOS

按下保存按鈕以編輯配置文件時遇到麻煩:

例如圖片不存在,當我按保存按鈕時,它崩潰了,請在我的代碼下面找到? 我想念什么?

一旦我刪除條件(如果個人資料圖片不存在),我的代碼就會工作。

  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的內容。 執行此操作時,如果imageUser.image值為nil ,它將使您的應用程序崩潰。 我建議您查看有關Swift編程語言(Swift 2.0)中的 Optionals的部分。

如果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")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM