iPhoneのフォトライブラリ内のすべての画像の合計サイズを見つける必要があります. 私は Assets Library フレームワークを使用しており、画像の数を正常に見つけました。ただし、画像のサイズが小さく、MB に変換すると間違った結果が得られます。以下はソースコードです。
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *group, BOOL *stop) {
[group enumerateAssetsUsingBlock:^(ALAsset *asset, NSUInteger index, BOOL *stop)
{
if ([[asset valueForProperty:ALAssetPropertyType] isEqualToString:ALAssetTypePhoto]) {
UIImage *image = [UIImage imageWithCGImage:asset.defaultRepresentation.fullResolutionImage];
[self performSelectorOnMainThread:@selector(usePhotolibraryimage:) withObject:image waitUntilDone:NO];
}
}];
}
failureBlock:^(NSError *error) {
NSLog(@"%@",error.description);
}];
- (void)usePhotolibraryimage:(UIImage *)myImage{
//Do your all UI related and all stuff here
NSData *imageData = UIImageJPEGRepresentation(myImage, 0.5);
int imageSize = imageData.length/1024;
totalImageSize = totalImageSize+imageSize;
}
ただし、画像をMBに変換しているときに、すべての画像の数が間違っていることを示しています。何が間違っているのか教えてください。