0
返回UIImages的NSArray的
我工作的照片應用程序,這裏的交易:從ALAssetsLibrary
我已創建自定義照片專輯添加了一些照片給它(用戶可以創建多張唱片)。我用這個ALAssetsLibrary
和CustomPhotoAlbum類別。一切工作完美無暇,直到我需要把這些照片重新使用它們。 所以我創建了這個類別的自定義metod,我保存UIImages
到NSMutableArray
,但我想這個方法返回這個數組以外...我的問題是enumerateAssetsUsingBlock:
運行在後臺並保存照片到專輯,而我想訪問他們!我該如何爲這種方法做點什麼,等到每張照片加載到專輯後再返回NSArray
?
這裏是我的方法:
- (void)loadImagesFromAlbumNamed:(NSString *)name
{
NSMutableArray *photos = [[NSMutableArray alloc] init];
[self enumerateGroupsWithTypes:ALAssetsGroupAll
usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
if (group == nil) {
return;
}
if ([[group valueForProperty:ALAssetsGroupPropertyName] isEqualToString:name]) {
[group enumerateAssetsUsingBlock:^(ALAsset *result, NSUInteger index, BOOL *stop) {
if (result == nil) {
return;
}
// NSLog(@"%@", result);
UIImage *image = [UIImage imageWithCGImage:(__bridge CGImageRef)([result defaultRepresentation])];
[photos addObject:image];
}];
NSLog(@"%@", [photos description]);
}
} failureBlock:^(NSError *error) {
NSLog(@"%@", [error localizedDescription]);
}];
}
我希望你明白我的觀點......如果沒有,只是問我會試着解釋它更好的辦法!
我已經管理了如何在外部獲得一個'NSArray'(通過param傳遞目標數組),但是當我想從它獲得'UIImages'時它仍然是空的... – cojoj
嘿,我正在處理同樣的問題。你可以告訴我什麼是enumerateGroupsWithTypes?....它顯示錯誤在那一行.. –
'enumerateGroupsWithTypes'是枚舉通過您的設備上可用的每個AssetLibrary ...所以在我的情況下,它列舉了一切。 – cojoj