Ich versuche, eine Liste von Fotoalben im Gerät verfügbaren the reference from here mit zu bekommen:ios - Einfaches Beispiel, um eine Liste von Fotoalben zu erhalten?
Bisher habe ich dies in meinem 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);
ist jedoch nichts an den Array-Gruppen hinzugefügt. Ich erwarte 2 Artikel aus dem NSLog.
Anmelden des Blocks funktioniert. Ich schätze, das Problem ist das, was du gesagt hast. Aber wie kann ich sicherstellen, dass "Gruppen" vor der Iteration des Inhalts ausgefüllt werden? – resting
Da listGroupBlock von einem Hintergrundthread aufgerufen wird (und nicht von dem Thread, auf dem Sie es erstellt haben), müssen Sie alle Bearbeitungen an Gruppen in 'listGroupBlock' vornehmen, genau dort, wo wir sie protokollieren. Dies bedeutet auch, dass Sie Ihre Benutzeroberfläche auch von 'listGroupBlock' aktualisieren müssen. Wenn Sie es beispielsweise in einer UITableView anzeigen, müssen Sie auch '[tableView reloadData]' in 'listGroupBlock' aufrufen. Sinn ergeben? – ansible
Ok. Dieser Ansatz sollte auch in Ordnung sein. Vielen Dank. – resting