PHAsset - Свойство способ сохранить захваченные PHAssets локально? (в приложении)

Пытаясь понять концепцию Photos/Photos.h рамки.

моя цель:

  1. записывать захваченное видео (или ресурс) в "userDefaults" приложения.
  2. читать из "userDefaults" и извлекать все сохраненные данные актива (миниатюра и URL)

1 ответ

Поскольку вы не предоставляете какой-либо код (и не запрашиваете какой-либо), я могу помочь вам разобраться с этим - но вам нужно немного больше изучить, прежде чем вы сможете собрать все это вместе. Особенно, если вы думаете, что задали вопрос, который имеет один простой правильный ответ.

UserDefaults не очень хорошее место для хранения изображений. Изображения большие. (Вам следует ознакомиться с документацией Apple о том, для чего предназначены UserDefaults / как они предназначены для использования).

UserDefaults

Есть несколько мест для хранения изображений. Вы хотите, чтобы система удалила их, если у вас не хватает памяти? Тогда это относится к кешу:

let cachesPath = NSSearchPathForDirectoriesInDomains(.cachesDirectory, .userDomainMask, true).last!

Хотите ли вы зависеть от того, что произойдет в следующий раз при запуске приложения? Для этого также есть стандартное место:

let userDocumentsFolder = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]

Хотите, чтобы iTunes автоматически создавала для вас резервные копии изображений? Он ожидает, что файлы будут находиться в определенном месте для автоматического резервного копирования. У вас есть способ отслеживать, где он находится (путь к файлу может измениться, если приложение будет перезапущено). Для этого вам может потребоваться постоянное хранилище, поэтому вам могут подойти CoreData или Realm. Или вы можете отсканировать ваш каталог и создать список файлов, которые вы уже сохранили. Тогда вам нужен способ выбрать правильный. (Как вы это назвали? Должен ли пользователь выбрать это?)

Apple имеет очень четко написанную и полезную документацию по доступу к библиотеке фотографий и использованию PHAssets. Вот только один пример:

PHAsset - Фотографии

На этом сайте много талантливых людей, и они готовы помочь вам, но вы должны сделать свою домашнюю работу, прежде чем приехать сюда.

Я рекомендую вам прочитать эти связанные документы, начать писать некоторый код, и если у вас возникнут проблемы, пожалуйста, вернитесь и задайте любой конкретный вопрос, который у вас есть о любой конкретной проблеме, с которой вы столкнулись. Включите код, который вызывает проблему, а также точное сообщение об ошибке, которое вы получаете. Мы будем рады помочь.

Другие вопросы по тегам