How can I access a photo from the gallery using the Photo framework in object c

I am new to Photo framework, I do not know how to use it. I use a lot of links, but I am confused how to display an image in an image view.

I want to get the whole photo from the gallery using the framework I'm trying

NSMutableOrderedSet *recentsDataSource; PHFetchResult *assetCollection = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum | PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:nil]; for (PHAssetCollection *sub in assetCollection) { PHFetchResult *assetsInCollection = [PHAsset fetchAssetsInAssetCollection:sub options:nil]; for (PHAsset *asset in assetsInCollection) { [self.recentsDataSource addObject:asset]; } } if (self.recentsDataSource.count > 0) { NSArray *array = [self.recentsDataSource sortedArrayUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]]; NSLog(@"Photo Array : %@",array); self.recentsDataSource = [[NSMutableOrderedSet alloc]initWithArray:array]; } 

I get this type of array.

Photo mask: ("5A2ABD38-D724-42B1-939A-F557D5CCE9FC / L0 / 001 mediaType = 1/0, sourceType = 1, (328x328), creationDate = 2015-10-14 06:06:22 +0000, location = 0 , hidden = 0, favorite = 0 "," 5391482F-9887-4518-9976-D5D544CDF8CA / L0 / 001 mediaType = 1/0, sourceType = 1, (450x800), creationDate = 2015-10-12 09:27:41 +0000, location = 0, hidden = 0, favorite = 1 "," 3B921984-6E79-4E4D-B70D-C7FFB0AC1C63 / L0 / 001 mediaType = 1/0, sourceType = 1, (3000x2002), creationDate = 2012-08- 08 09:25:30 +0000, location = 1, hidden = 0, favorite = 0 "," D64D501E-F85D-4EE8-9C79-414272621A80 / L0 / 001 mediaType = 1/0, sourceType = 1, (1668x2500), creationDate = 2012-08-08 08:59:49 +0000, location = 1, hidden = 0, favorite = 0 "," 46A57980-9C55-42A8-9792-6BD98B25F01D / L0 / 001 mediaType = 1/0, sourceType = 1, (3000x2002), creationDate = 2012-08-08 06:22:11 +0000, location = 1, hidden = 0, favorite = 0 "," 1E040EE9-99A9-4325-AB1F-CBF4E45111DA / L0 / 001 mediaType = 1/0, sourceType = 1, (4288x2848), creationDate = 2011-03-12 10:47:25 +0000, location = 1, hidden = 0, favorite = 1 "," BF3A71CD-3065-43C0-A933-DD89BBE8C778 / L0 / 001 mediaType = 1/0, sourceType = 1, (4288x2848), creationDate = 2009-10-09 08:39:20 +0000, location = 0, hidden = 0, favorite = 0 ")

How to display an image in image view.

+5
source share
1 answer

Add this to the .h / .m file

 #import <Photos/Photos.h> 

Global variable:

 @property(nonatomic , strong) PHFetchResult *assetsFetchResults; @property(nonatomic , strong) PHCachingImageManager *imageManager; 

viewDidLoad:

 // Fetch all assets, sorted by date created. PHFetchOptions *options = [[PHFetchOptions alloc] init]; options.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]]; _assetsFetchResults = [PHAsset fetchAssetsWithOptions:options]; _imageManager = [[PHCachingImageManager alloc] init]; 

numberOfItemsInSection method:

 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { return [_assetsFetchResults count]; } 

UICollectionView cellForItemAtIndexPath: code:

 UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cellID" forIndexPath:indexPath]; UIImageView *imageView = (UIImageView *)[cell viewWithTag:101]; PHAsset *asset = _assetsFetchResults[indexPath.item]; [_imageManager requestImageForAsset:asset targetSize:imageView.frame.size contentMode:PHImageContentModeAspectFill options:nil resultHandler:^(UIImage *result, NSDictionary *info) { imageView.image = result; }]; 

[Changed]

Image Access:

 - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { PHAsset *asset = _assetsFetchResults[indexPath.item]; [_imageManager requestImageForAsset:asset targetSize:CGSizeMake(200, 200) contentMode:PHImageContentModeAspectFill options:nil resultHandler:^(UIImage *result, NSDictionary *info) { // result is the actual image object. }]; } 
+17
source

Source: https://habr.com/ru/post/1233766/


All Articles