Как получить изображение из библиотеки фотографий iOS, используя URL-путь?

Я использовал UIImagePickerController выбрать изображение из библиотеки фотографий устройства iOS. Затем я сохранил URL-адрес выбранного изображения в базе данных, используя Core Data. Теперь я хочу использовать этот сохраненный URL-путь для получения изображения в другом контроллере представления. Как я могу получить изображение, используя URL-путь, используя Objective-C? Есть ли рамки для этого? Я обнаружил, что структура ALAssets устарела.

1 ответ

Не следует сохранять URL-адрес изображения, если только вы не сохранили его в более постоянном месте на устройстве. UIImagePickerController предоставит вам URL для временного изображения, но это может быть удалено после закрытия приложения.

Вместо этого возьмите фактический UIImage локально и сохраните это как BLOB-объект с CoreData.

let image = info[UIImagePickerControllerOriginalImage] as? UIImage
let imageData = UIImageJPEGRepresentation(image, 1.0)

Отсюда сохраните данные в виде большого двоичного объекта в базе данных CoreData. Это статья сама по себе, поэтому я не буду вдаваться в подробности. Обратитесь к ресурсу, такому как http://pinkstone.co.uk/how-to-save-a-uiimage-in-core-data-and-retrieve-it/

Чтобы извлечь это изображение из данных, извлеките BLOB-объект из CoreData и преобразуйте его в UIImage:

let imageData = < Core Data Fetch and Processing >
if let image = UIImage(data: imageData) {
    // Use your image
}
Другие вопросы по тегам