IOS с использованием блоков для библиотеки активов - PullRequest
0 голосов
/ 27 октября 2011

Мне нужно использовать библиотеку ресурсов: я нашел следующие фрагменты:

[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
                        usingBlock:assetGroupEnumerator
                        failureBlock: ^(NSError *error) {
                            NSLog(@"Failure");
                        }];

и компилятор выдает ошибку, как будто не распознает блок ^.

Есть ли настройка или что-то, чтобы включить блоки в проекте? заранее спасибо

вот полная ошибка / код: https://skitch.com/ghiboz/grpyc/xcode

Paolo

Ответы [ 2 ]

1 голос
/ 30 октября 2011

Мой оригинальный ответ. Похоже, вам нужно добавить инфраструктуру AssetsLibrary в ваш проект.

Мой новый ответ - для перечислений ваших активов избавьтесь от ключевого слова struct в объявлениях блоков. Вы не нуждаетесь в них.

, например

void (^assetGroupEnumerator)(ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop){

и

void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset * result, NSUInteger index, BOOL * stop) 
1 голос
/ 27 октября 2011

Вы используете GCC вместо Clang? Во многих случаях возникают проблемы с распознаванием подписей блоков.

...