私はthe reference from hereを使用して、デバイスで利用可能なフォトアルバムのリストを取得しようとしている:ios - フォトアルバムのリストを取得する簡単な例?
は、これまでのところ、私は私のviewDidLoadでこれを持っている:
は// Get albums
NSMutableArray *groups = [NSMutableArray new];
ALAssetsLibrary *library = [ALAssetsLibrary new];
ALAssetsLibraryGroupsEnumerationResultsBlock listGroupBlock = ^(ALAssetsGroup *group, BOOL *stop) {
if (group) {
[groups addObject:group];
}
};
NSUInteger groupTypes = ALAssetsGroupAlbum;
[library enumerateGroupsWithTypes:groupTypes usingBlock:listGroupBlock failureBlock:nil];
NSLog(@"%@", groups);
しかし、何もグループ配列に追加されません。私はNSLogから2つの項目を見ることを期待しています。
ブロックのログインは機能します。私は問題はあなたが言ったことだと思います。しかし、そのコンテンツを反復する前に 'groups'が確実に埋められていることを確認するにはどうしたらいいですか? – resting
listGroupBlockはバックグラウンドスレッドから呼び出されています(作成したスレッドではありません)ので、 'listGroupBlock'内のグループに対しては処理を行う必要があります。これはまた、UIを 'listGroupBlock'から更新する必要がある場合にも意味します。たとえば、UITableViewに表示する場合、 'listGroupBlock'内で' [tableView reloadData] 'を呼び出すこともできます。理にかなっている? – ansible
そのアプローチもうまくいくはずです。ありがとう。 – resting