我使用ALAssetsLibrary
枚举照片库中的资源,但存在一个问题。如果我在块内(枚举的那个),我可以毫无问题地访问缩略图。但是,如果我将ALAsset
存储在一个集合中,并尝试在稍后的某个时刻访问缩略图图像的0x00000000。
为什么这样?以后有更好的方法来访问单个图像吗?
我的代码是这样的:
assets = [[NSMutableArray alloc] init];
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:assetGroupEnumerator
failureBlock:^(NSError *error) {NSLog(@"bla bla bla ... problem");}];
带
void (^assetGroupEnumerator) (ALAssetsGroup *, BOOL *) = ^(ALAssetsGroup *group, BOOL *stop)
{
if(group != nil)
{
// extract every asset from goup
[group enumerateAssetsUsingBlock:assetEnumerator];
}
};
和
void (^assetEnumerator) (ALAsset *, NSUInteger, BOOL *) = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
[assets addObject:result];
}
答案 0 :(得分:0)
我发现问题是ALAssetsLibrary
的(所有早期版本)发布。只要我需要缩略图和其他任何内容并且只是保留它的参考,我就不应该放弃它。