ALAssetsLibrary неверный или ноль
Я получаю следующее сообщение об ошибке: invalid attempt to access <ALAssetPrivate: 0xa4a1ed0> past the lifetime of its owning ALAssetsLibrary
когда я пытаюсь создать собственный Image Picker.
Я использовал этот пример APPLE для создания этого приложения. Пример приложения Apple работает отлично. Но когда я скопировал этот пример кода в мое приложение, он получил сообщение об ошибке выше.
Пожалуйста, может кто-нибудь помочь мне, почему эта ошибка ALAssetsGroup
стать нулевым.
1 ответ
Решение
Я нашел ответ на эту проблему. Проблема в том, что моя библиотека ALAssetsLibrary, которую я использовал, получила значение null от ARC. Решение состоит в том, чтобы добавить этот статический метод вместо библиотеки ALAssets.
+ (ALAssetsLibrary *)defaultAssetsLibrary {
static dispatch_once_t pred = 0;
static ALAssetsLibrary *library = nil;
dispatch_once(&pred, ^{
library = [[ALAssetsLibrary alloc] init];
});
return library;
}