【发布时间】:2011-08-04 15:18:45
【问题描述】:
我在 SO 上看到几个人已经成功地使用了这个代码。但是我得到了不兼容的块指针错误:
初始化不兼容的块指针类型
void(^)(struct ALAssetsGroup *, BOOL *)
使用类型为
的表达式void(^)(ALAsset *, NSUInteger, BOOL *)
有什么提示吗? (编辑完整代码)
ALAssetsLibrary *library =[[ALAssetsLibrary alloc]init];
void (^assetEnumerator)(struct ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop){
if(result != NULL) {
NSLog(@"See Asset: %@", result);
}
};
void (^assetGroupEnumerator)(struct ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop) {
if(group != nil) {NSLog(@"dont See Asset: ");
[group enumerateAssetsUsingBlock:assetEnumerator];
}
};
[library enumerateGroupsWithTypes:ALAssetsGroupAlbum
usingBlock:assetGroupEnumerator
failureBlock: ^(NSError *error) {
NSLog(@"Failure");
}];
【问题讨论】:
-
发布更多你的代码——你那里的sn-ps看起来不错。
-
如果你能告诉我们编译器在哪一行代码上咆哮,那真的会帮助我们帮助你。
-
添加了显示错误信息的图片。
标签: ios objective-c objective-c-blocks alassetslibrary alasset