Проблема ALAssetsGroup с IOS 5 - PullRequest
       18

Проблема ALAssetsGroup с IOS 5

3 голосов
/ 25 октября 2011

Мой код работал на OS 4.3, но с 5 я получаю предупреждения относительно ALAssetsGroup для ALAssetsGroup, я не получаю никаких методов для него, поэтому я получаю экземпляр, не найденный для перечисления, см. Код

 void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop)
{
    if(result != nil)
    {
        [assets addObject:result];
    }
};


// Create instance of the Assets Library.
void (^assetGroupEnumerator)( ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) {
    if(group != nil)
    {
        [group enumerateAssetsUsingBlock:assetEnumerator];
    }
};



assets = [[NSMutableArray alloc] init];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
                       usingBlock:assetGroupEnumerator
                     failureBlock: ^(NSError *error) {
                         NSLog(@"failureBlock:%@",error);
                     }];    

ЛюбойПомощь будет оценена Спасибо

1 Ответ

2 голосов
/ 06 ноября 2011

по состоянию на iOS еще 5 методов Assets-Library являются асинхронными и хотят вызываться из основного потока. Убедитесь, что вы вызываете свой 2-й блок, перечисляющий группу из основного потока, используя dispatch_async в главной очереди.

Приветствия

Хендрик

...