Запись iOS в наблюдения за библиотекой активов - PullRequest
1 голос
/ 13 мая 2011

Я пытаюсь написать приложение, которое считывает изображения из библиотеки активов, изменяет данные GPS изображения и записывает их обратно в библиотеку ресурсов.Я храню активы в mutableArray с помощью методов «перечисления активов».Большинство подробностей о том, как делать различные шаги, я получил от поиска на этом форуме.Спасибо!

Я обнаружил, что когда я пишу первый «ресурс» с помощью метода «writeimagedatatosavedphotosalbum», все элементы mutableArray, связанные с URL-адресом ресурсов, становятся нулевыми.Кроме того, я заметил, что обратная запись изображения не заменяет исходное изображение, а создает второй экземпляр изображения.

Просто подумал, что передам эти результаты, если у других возникнут вопросы.И, конечно, меня будут интересовать комментарии, наблюдения и т. Д.

Этот форум предоставил мне отличную информацию.Еще раз спасибо.

Ответы [ 2 ]

1 голос
/ 07 февраля 2013

Ваш ALAsset объект хорош только в течение времени, в течение которого ваш ALAssetsLibrary объект находится вокруг. Вам либо нужно сделать все, что вы хотите в блоке завершения, когда вы получите ALAsset , либо сохранить ALAssetsLibrary в переменной экземпляра, чтобы ARC не освобождала его .

0 голосов
/ 28 мая 2014

ALAsset - это, по сути, объект Core Data, который может иметь свойства, доступные из нескольких потоков, но NSManagedObject или подкласс NSManagedObject не имеет смысла безродительский NSManagedObjectContext почти так же, как ALAsset не имеет смысла без ALAssetsLibrary .

Обычная практика - хранить NSManagedObjectContext на AppDelegate ;и хотя я абстрагирую эту функциональность в оболочку / синглтон, на протяжении жизненного цикла приложения сохраняется ссылка на NSManagedObjectContext .Примените ту же логику к ALAssetsLibrary , и все будет работать как положено.

...