0

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];

}
4

1 回答 1

0

我发现问题在于ALAssetsLibrary. 只要我需要缩略图和其他任何东西并简单地保留它的参考,我就不应该放弃它。

于 2013-07-06T21:07:00.060 回答