我需要有关iOS应用中Redux最佳实践的建议。
我正在尝试掌握这种架构模式,但是我没有使用Redux + Reactive方法。只需ReSwift +简单的声明性代码。
我面临的问题是基本的。存储UIImage
。
据我在某些教程中所看到的,不建议将UIImage
存储为州的属性。因此,建议存储图像的路径。
要获取路径,我们需要将映像本地保存到磁盘。图像来自手机的媒体库。因此,将其保存到本地需要时间(同步完成,因为我不想为一个最简单的屏幕添加一个UIImageView
异步任务)。
幸运的是,图像选择器控制器为我们提供了图像网址:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
let imageURL = info[.imageURL] as? URL
picker.dismiss(animated: true, completion: nil)
store.dispatch(DidPickImageAction(imageURL: imageURL))
}
我可以使用它,而无需将图像重写到文件中,从而解决了问题。
但是,还可以选择通过相机制作新图像。在这种情况下,信息词典没有.imageURL
,这又使我不得不将图像写入文件。
这使我只想在状态中存储UIImage
,但是由于它违反Redux规则,所以我在问:
在Redux架构中使用图像的最佳实践是什么?
任何帮助将不胜感激。
答案 0 :(得分:0)
直接保存图像不好。
您可以采取的最佳方法。