随着iOS10的推出,Xcode 8 最低支持iOS 8.0,PhotoKit可以完全替代ALAssetsLibrary来管理相册资源。本文主要介绍PhotoKit的基本使用,做一个简易的相片选择器。
一、基本概念:
PHAsseet:代表照片库中的一个资源,跟 ALAsset 类似,通过 PHAsset 可以获取和保存资源;
PHFetchOptions:获取资源时的参数,可以传nil,即使用系统默认值;
PHFetchResult:表示一系列的资源集合,也可以是相册的集合;
PHAssetCollection:表示一个相册或者一个时刻,或者是一个「智能相册(系统提供的特定的一系列相册,例如:最近删除,视频列表,收藏等等);
PHCollectionList:表示一组PHCollection,而它本身也是一个PHCollection,因此PHCollection作为一个集合,可以包含其他集合,例如:照片 - 时刻 - 精选 - 年度;
PHImageManager:用于处理资源的加载,加载图片的过程带有缓存处理,可以通过传入一个 PHImageRequestOptions 控制资源的输出尺寸等规格;
PHImageRequestOptions:如上面所说,控制加载图片时的一系列参数。
二、 PhotoKit的基本使用:
为便于使用,封装一个单例类PhotoCatcherManager,实现以下方法: