将UIImagePickerController图像本地存储在App Assets中

时间:2019-04-12 15:24:08

标签: ios swift uiimage userdefaults

我正在尝试通过UIImagePickerController在应用程序中分配个人资料图片。但是,我需要找出一种存储图像的方法,以便在应用重新启动后仍然显示该图像。

我尝试了其他方法,主要是那些使用UIImagePNGRepresentation的方法。但这在Swift 4+中不再存在,因此我需要其他方法。

   func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])
    {
        picker.dismiss(animated: true)

        profilePicture = info[.editedImage] as! UIImage
    }
}

我想做的仍然是将图像显示为个人资料图片。但是,当应用重新启动时,仍然会显示图像。由于这是来自相机胶卷,因此我无法将其存储在.xcassets

1 个答案:

答案 0 :(得分:-1)

让我们假设这就是您获取图像的方式:

profilePicture = info[.editedImage] as! UIImage

好的,所以那一刻您知道图像是什么。因此,以已知名称将其存储到磁盘上的已知位置(例如文档)。在以后的发布中,您所要做的就是查看图像是否存在,然后使用它。

  

主要使用UIImagePNGRepresentation的对象。但这在Swift 4+中不再存在

是的,确实如此,这是提取数据并将其存储到磁盘的方式。发生的一切只是 name 发生了变化,现在它已成为UIImage方法。

https://developer.apple.com/documentation/uikit/uiimage/1624096-pngdata