1. Model

PHAsset 、PHAssetCollection、PHCollectionList 是Photos框架中的模型类,PHAsset类模型是图片或者视频文件数据;PHAssetCollection即图片或者视频文件的集合,包括相册、moments、智能相册以及共享照片流;PHCollectionList是一组资源集合,可能是一组Assets,也可能是一组collection。 它们关系如下图:

photos_model.png

1.1 PHAsset

PHAsset是iOS8平台的新接口,用来获取图片和视频文件的元数据,相当于以前的 ALAsset接口,但比起ALAsset,PhotoKit 提供了额外的关于用户资源的元数据,而这些数据在以前使用 ALAssetsLibrary 框架中是没有办法访问,或者很难访问到。我们可以用PHAsset保存图片和视频资源对象, 然后展示或者修改它.它有几个重要属性:

  • mediaType :资源类型,图片或者音频或视频

    Paste_Image.png
  • mediaSubtypes :图片又包含全景图(Panorama)、HDR图片、屏幕截图、livePhoto.live photo 加3Dtouch效果太赞! [视频链接].我们可以使用照片资源的 mediaSubtypes 属性验证资源库中的图像在捕捉时是否开启了 HDR,拍摄时是否使用了相机应用的全景模式.(http://www.macworld.com/article/2988585/apple-phone/how-to-get-started-with-3d-touch-live-photos-and-4k-video-on-the-iphone-6s.html)

    Paste_Image.png
  • Creation date
  • Location
  • Favorite 布尔值,用户是否标记资源为"收藏",我们平时浏览照片或视频,在下方点

    Photos FrameWork 续的更多相关文章

    1. iOS Photos.framework框架

      链接: iOS8.0 使用Photos.framework对相册的常用操作 iOS AssetsLibrary和Photos的使用总结: 权限及相册的获取 iOS 开发之照片框架详解 iOS Asse ...

    2. iOS8.0 使用Photos.framework对相册的常用操作

      转载自:http://blog.csdn.net/longitachi/article/details/50130957 1.判断相册访问权限 首先我们访问相册,肯定有需要判断是否有访问权限的时候,然 ...

    3. [iOS]坑爹的ALAsset(Assets Library Framework)

      Assets Library Framework 可以用来做iOS上的多选器,选照片视频啥的啦就不介绍了. 目前的项目有点类似dropbox,可以选择设备内的照片然后帮你上传文件,使用了Assets ...

    4. device framework(设备框架)

      Table A-1  Device frameworks Name First available Prefixes Description Accelerate.framework 4.0 cbla ...

    5. iOS 开发之照片框架详解之二 —— PhotoKit 详解(下)

      本文链接:http://kayosite.com/ios-development-and-detail-of-photo-framework-part-three.html 这里接着前文<iOS ...

    6. IOS开发基础知识--碎片30

      1:ios 相册操作 ALAssetsLibrary 知识点 a ALAssetsLibrary 实例为我们提供了获取相册(照片app)中的图片和视频的功能.在ios8 photos framewor ...

    7. 【Swift 2.1】共享文件操作小结(iOS 8 +)

      前言 适用于 iOS 8 + 本地共享文件列表 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs ...

    8. iOS权限问题

      判断相机权限: NSString *mediaType = AVMediaTypeVideo; AVAuthorizationStatus authStatus = [AVCaptureDevice ...

    9. PhotoKit框架介绍及使用

      PhotoKit 是一套比 AssetsLibrary 更新更完整也更高效的ios照片处理库,对资源的处理跟 AssetsLibrary 有很大的不同.下面简单介绍下PhotoKit的几个基本概念 P ...

    随机推荐

    1. android Tweened Animations

      Android提供了两种类型的动画: 一类是Tween动画:提供了旋转.移动.伸展和淡出等效果: 第二类是Frame-by-frame动画:这一类Animations可以创建一个Drawable序列, ...

    2. 安卓手机微信页面position: fixed位置错误

      今天做项目的时候发现动用position: fixed做弹窗时,用margin-top:50%这样外边距来响应式的控制位置时,在微信里打开页面的弹窗,弹窗在手机上显示的位置和实际上在手机上的位置不一样 ...

    3. 虚拟机 centos 7 nginx安装

      1下载vmware 12,并安装.百度即可 2下载centos 7,将其安装在vmware 12中.百度即可,无复杂设置. 3设置vmware 中centos7能上网: a.右键计算机->管理- ...

    4. MFC下MCI的使用播放音乐

      最近研究了一下MFC下的音乐的播放,主要使用了MCI 1.需要包含的库文件 在链接资源里(link)添加库文件VFW32.lib winmm.lib 2.包含的头文件 #include <mms ...

    5. MyBatis 错误:Invalid bound statement (not found)

      错误: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zr.msgg.per ...

    6. shell小脚本工具合集

      1.将指定内容写入文件 echo "hello world" > file.txt echo "hello world" >> file.tx ...

    7. error while loading shared libraries: libseaudit.so.4: cannot open shared object file: Error 40

      安装共享库后要注意共享库路径设置问题, 如下: 1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令 ldconfig命令的用途, 主要是在默认搜寻目录( ...

    8. RPC简介与Thrift框架

      RPC,全称是remote process call,远程过程调用,简单来讲就是调用部署在另一台服务器上的服务或者被部署在另一台服务器上的服务调用.由于各服务部署在不同机器,服务间的调用免不了网络通信 ...

    9. windows禅道环境搭建

      zentao官网的几个网址 http://www.zentao.net/ http://www.zentao.net/article-view-79863.html   搭建环境需要下载两个文件 1) ...

    10. Android 透明状态栏&着色状态栏

      Android 5.0 及以上实现方式(android在5.0之后引入Material Design 实现方式相对简单) 透明状态栏,背景浸入状态栏 if (Build.VERSION.SDK_INT ...