0

コード

if ( !_groups) {
    _groups = [[NSMutableArray alloc] init];
} else {
    [_groups removeAllObjects];
}

if (!_assetsLibrary) {
    _assetsLibrary = [[ALAssetsLibrary alloc] init];
}

ALAssetsLibraryGroupsEnumerationResultsBlock listGroupBlock = ^(ALAssetsGroup *group, BOOL *stop) {
    if ( group ) {
        DLog(@"group: %@", group);
        [_groups addObject:group];
        [self.tableView reloadData];
    }
};

ALAssetsLibraryAccessFailureBlock failureBlock = ^(NSError *error){
    DLog(@"error: %@", error);
};


NSUInteger groupTypes = ALAssetsGroupAlbum | ALAssetsGroupEvent | ALAssetsGroupFaces;
[_assetsLibrary enumerateGroupsWithTypes:groupTypes usingBlock:listGroupBlock failureBlock:failureBlock];

したがって、コードは WWDC 2010 デモからそのままです。セッション 421。

問題

listGroupBlockDLog が呼び出されることはありません。私の _groups 配列は空です。技術的には、このブロックは 1 回呼び出されますが、groupパラメーターは nil です。

PS DLog は、クラス名と行が入った単なる NSLog です。

4

1 に答える 1