photoKit使用笔记

@主要用到的类

1PHAssetCollection:图片资源数组(代表着相簿数组)

 作用:获取相簿资源数组

 示例代码:

//获取相簿资源
PHFetchResult<PHAssetCollection *> *assetCollections = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAlbumRegular options:nil];

2PHAsset 图片资源 (代表某个相册里所有图片的数组)

 作用:获取某个相簿里的相片资源数组

 示例代码

//2获得某个相簿中的PHAsset数组
    PHFetchOptions *fetchOptions = [[PHFetchOptions alloc] init];
    fetchOptions.sortDescriptors = @[[NSSortDescriptor sortDescriptorWithKey:@"creationDate" ascending:NO]];
    PHFetchResult<PHAsset *> *assetArr = [PHAsset fetchAssetsInAssetCollection:assetCollection options:fetchOptions];

3PHImageManager 图片管理者

 作用:根据某个图片资源,获取到真实图片

 示例代码

//获取图片
  [[PHImageManager defaultManager] requestImageForAsset:asset targetSize:size contentMode:PHImageContentModeDefault options:options resultHandler:^(UIImage * img, NSDictionary * _Nullable info)
     {
         imageobj.image = img;
        [resultArr addObject:image];
  }];

@经验楼

  1对相簿相册进行增删操作,虽然是本地操作,不是延时的网络操作,却也是耗时操作,回调被放到子线程

   导致的后果就是,刷新数据后要点一下,才能真正更新界面,需要dispatchAsync一下

  2删除刷新界面时,注意还要到结果代理方法去刷新,否则往往刷不到最新的数据

  3NSString *const UIImagePickerControllerMediaURL;// 视频的路径

   NSString *const UIImagePickerControllerReferenceURL;// 原始选择项的URL

  

原文地址:https://www.cnblogs.com/dzq1991/p/7441103.html