Я использую ALAssetsLibrary
для перечисления активов из библиотеки фотографий, но есть одна проблема. Если я нахожусь внутри блока (того, что для перечисления), я могу без проблем получить доступ к миниатюре. Однако, если я сохраню ALAsset
в коллекции и попытаюсь получить доступ к миниатюре в какой-то момент позже, это 0x00000000.
Почему это? Есть ли лучший способ получить доступ к отдельным изображениям позже?
Мой код работает так:
assets = [[NSMutableArray alloc] init];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:assetGroupEnumerator
failureBlock:^(NSError *error) {NSLog(@"bla bla bla ... problem");}];
с участием
void (^assetGroupEnumerator) (ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
{
if(group != nil)
{
// extract every asset from goup
[group enumerateAssetsUsingBlock:assetEnumerator];
}
};
и
void (^assetEnumerator) (ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
[assets addObject:result];
}