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; 
}

Источник

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