Мне нужен совет по наилучшей практике с Redux в приложении для iOS.
Я пытаюсь освоить этот архитектурный паттерн, но я не использую подход Redux + Reactive.Просто ReSwift + простой декларативный код.
Проблема, с которой я сталкиваюсь, является базовой.Хранение UIImage
.Насколько я видел в некоторых уроках, не рекомендуется хранить UIImage
как собственность государства.Следовательно, рекомендуется сохранить путь к изображению.
Чтобы получить путь, нам нужно сохранить изображение локально на диск.Изображение взято из медиа-библиотеки телефона.Итак, локальное сохранение требует времени (это делается синхронно, потому что я не хочу добавлять асинхронные задачи для простейшего экрана с одним UIImageView
).
К счастью, контроллер средства выбора изображений предоставляет нам изображениеurl:
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?
Любая помощь будет очень ценится.