[英]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.