Как получить количество изображений в библиотеке фотографий

извлекая изображение из Photolibrary, мы используем UIImagePickerViewController и UIImagePickerControllerSourceTypePhotoLibrary, чтобы перейти в Photolibrary и получить изображение. Теперь вот мой вопрос Как мне получить количество изображений, которые сохранены в моей photoLibary.

Разрешено ли мне получать количество изображений для отображения в моем приложении.


person kiran    schedule 02.09.2016    source источник


Ответы (3)


Да, вы можете получить все изображения, используя метод ниже: - import Photos Framework

#import <Photos/Photos.h>


-(void)getAllPhotosFromCamera
{
imageArray=[[NSArray alloc] init];
mutableArray =[[NSMutableArray alloc]init];

PHImageRequestOptions *requestOptions = [[PHImageRequestOptions alloc] init];
requestOptions.resizeMode   = PHImageRequestOptionsResizeModeFast;
requestOptions.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
requestOptions.synchronous = true;
PHFetchResult *result = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];

NSLog(@"%d",(int)result.count);

PHImageManager *manager = [PHImageManager defaultManager];
NSMutableArray *images = [NSMutableArray arrayWithCapacity:[result count]];

// assets contains PHAsset objects.

__block UIImage *ima;
for (PHAsset *asset in result)
{
    // Do something with the asset

    [manager requestImageForAsset:asset
                       targetSize:PHImageManagerMaximumSize
                      contentMode:PHImageContentModeDefault
                          options:requestOptions
                    resultHandler:^void(UIImage *image, NSDictionary *info)
                    {
                        ima = image;

                        [images addObject:ima];
                    }];
}

imageArray = [images copy];
[_cView reloadData];
}
person Viraj Padsala    schedule 02.09.2016

Если вы хотите получить подсчет, то с помощью Photos Framework вы можете получить подсчет следующим образом.

PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithMediaType:PHAssetMediaTypeImage options:nil];
NSLog(@"count of All Photos from Moments in iOS8, or Camera Roll - %lu",(unsigned long)allPhotosResult.count);

также не забудьте импортировать Photos Framework

#import <Photos/Photos.h>
person Rajat    schedule 02.09.2016

Здесь вы можете получить все количество изображений. Он также включает в себя все изображения альбома и фотопленки.

__block NSInteger intTotalCount=0;
// Get all Album list...
PHFetchResult *userAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil];
[userAlbums enumerateObjectsUsingBlock:^(PHAssetCollection *collection, NSUInteger idx1, BOOL *stop) {
    PHFetchResult *assetsFetchResult = [PHAsset fetchAssetsInAssetCollection:collection options:nil];
    intTotalCount+=assetsFetchResult.count;
}];

// Get image count from Camera Roll
PHFetchOptions *allPhotosOptions = [PHFetchOptions new];
allPhotosOptions.predicate = [NSPredicate predicateWithFormat:@"mediaType == %d ",PHAssetMediaTypeImage];
PHFetchResult *allPhotosResult = [PHAsset fetchAssetsWithOptions:allPhotosOptions];
intTotalCount+=allPhotosResult.count;

NSLog(@"%d",intTotalCount);
person kb920    schedule 02.09.2016