写真ライブラリからアセットを列挙するために使用ALAssetsLibrary
しますが、1 つの問題があります。ブロック (列挙用のブロック) 内にいる場合、問題なくサムネイル画像にアクセスできます。ただし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];
}