ios使用块资产库

时间:2011-10-26 23:35:26

标签: objective-c ios objective-c-blocks alassetslibrary

我需要使用资产库:我找到了这样的片段:

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

并且编译器给出了错误,例如无法识别块^。

是否有设置或某些东西来启用项目中的块? 提前谢谢

这是完整的错误/代码: https://skitch.com/ghiboz/grpyc/xcode

2 个答案:

答案 0 :(得分:1)

您使用GCC而不是Clang吗?在许多情况下,识别块的签名存在问题。

答案 1 :(得分:1)

我原来的答案 - 看起来您需要将AssetsLibrary框架添加到您的项目中。

我的新答案 - 对于您的资产枚举,在块声明中删除“struct”关键字。你不需要它们。

e.g。

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

void (^assetEnumerator)(ALAsset *, NSUInteger, BOOL *) = ^(ALAsset * result, NSUInteger index, BOOL * stop)