Guest User

Untitled

a guest
Sep 18th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.94 KB | None | 0 0
  1. Updating images in application coming from photo gallery using ALAssetsLibrary
  2. - (void)viewDidLoad
  3. {
  4. [super viewDidLoad];
  5. // Do any additional setup after loading the view, typically from a nib.
  6. if (!assetsLibrary) {
  7. assetsLibrary = [[ALAssetsLibrary alloc] init];
  8. }
  9. if (!groups) {
  10. groups = [[NSMutableArray alloc] init];
  11. }
  12. else {
  13. [groups removeAllObjects];
  14. }
  15.  
  16. ALAssetsLibraryGroupsEnumerationResultsBlock listGroupBlock = ^(ALAssetsGroup *group, BOOL *stop) {
  17.  
  18. if (group) {
  19. [groups addObject:group];
  20. } else {
  21. [self displayImages];
  22. }
  23. };
  24.  
  25. ALAssetsLibraryAccessFailureBlock failureBlock = ^(NSError *error) {
  26. NSString *errorMessage = nil;
  27. switch ([error code]) {
  28. case ALAssetsLibraryAccessUserDeniedError:
  29. case ALAssetsLibraryAccessGloballyDeniedError:
  30. errorMessage = @"The user has declined access to it.";
  31. break;
  32. default:
  33. errorMessage = @"Reason unknown.";
  34. break;
  35. }
  36. };
  37. [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:listGroupBlock failureBlock:failureBlock];
  38. }
  39. - (void)displayImages{
  40. for (int i = 0 ; i< [groups count]; i++) {
  41. assetsGroup = [groups objectAtIndex:i];
  42. if (!assets) {
  43. assets = [[NSMutableArray alloc] init];
  44. }
  45. else {
  46. [assets removeAllObjects];
  47. }
  48.  
  49. ALAssetsGroupEnumerationResultsBlock assetsEnumerationBlock = ^(ALAsset *result, NSUInteger index, BOOL *stop) {
  50.  
  51. if (result) {
  52. [assets addObject:result];
  53. }
  54. };
  55. ALAssetsFilter *onlyPhotosFilter = [ALAssetsFilter allPhotos];
  56. [assetsGroup setAssetsFilter:onlyPhotosFilter];
  57. [assetsGroup enumerateAssetsUsingBlock:assetsEnumerationBlock];
  58.  
  59. }
  60. [gridView reloadData];
  61.  
  62. }
Add Comment
Please, Sign In to add comment