2011-10-26 36 views
0

我需要使用的资源库:我发现一个片段是这样的:IOS使用块资产库

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

和编译器给我的错误,如不承认该块^。

有没有设置或者什么东西来启用项目中的块? 由于事先

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

保罗

+0

那么你的assetGroupEnumerator声明看起来像在你的代码? –

回答

1

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

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

例如

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

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

已添加到我的项目中 – ghiboz

+0

是否已将'#import '添加到您使用该块的文件的顶部? –

+0

是的!当然.. – ghiboz

1

是否使用GCC代替铛?在许多情况下,它在识别块签名方面存在问题。

+0

我该如何使用GCC? – ghiboz

+0

我的意思是GCC有问题,你应该使用Clang。在你的目标设置中,你会看到“Compiler for C/C++/Objective-C”,如果还没有设置,就改为Clang。 –

+0

https://skitch.com/ghiboz/gryyr/xcode我有这个和在我的选项中只有APPLE LLVM和LLVM GCC 4.2 – ghiboz