编码
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。
问题
listGroupBlock
DLog 永远不会被调用。我的 _groups 数组是空的;从技术上讲,这个块被调用了 1 次,但group
参数为 nil。
PS DLog 只是漂亮的 NSLog,其中包含类名和行。