我正在构建一个拍照的应用程序,然后您可以选择保存它。但是,在拍照之前,UIImageView为空(无),当您按保存按钮时,它会崩溃,因为您无法保存无照片。我如何进行错误处理,以使UIImageView为nil时不会崩溃。
我曾尝试过 throw 并接住,但无法正常工作。
func tryDataConversion() throws -> Data {
let imageData = myImage.image!.jpegData(compressionQuality: 1.0)
return imageData!
}
我要工作的完整功能代码:
@IBAction func saveImageButton(_ sender: Any) {
let imageData = myImage.image!.jpegData(compressionQuality: 1.0)
let compressedImage = UIImage(data: imageData!)
UIImageWriteToSavedPhotosAlbum(compressedImage!, nil, nil, nil)
alert(title: "Recent Photo Saved", msg: "Your most recent photo has been saved to your photo library")
}
在下一行中,它会崩溃,因为展开时会发现nil并且可以解开nil。
let imageData = myImage.image!.jpegData(compressionQuality: 1.0)
并给出以下错误。
Fatal error: Unexpectedly found nil while unwrapping an Optional value:
最佳答案
代替
let imageData = myImage.image!.jpegData(compressionQuality: 1.0)
let compressedImage = UIImage(data: imageData!)
UIImageWriteToSavedPhotosAlbum(compressedImage!, nil, nil, nil)
尝试这个:
if let imageData = myImage.image?.jpegData(compressionQuality: 1.0),
let compressedImage = UIImage(data: imageData) {
UIImageWriteToSavedPhotosAlbum(compressedImage!, nil, nil, nil)
}
关于swift - 尝试将图像保存到库时如何解决nil错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58296517/