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. mac 上面安装mysql-python

      安装过程中一直报错: EnvironmentError: mysql_config not found 最终下面的方式解决: 58down voteaccepted +200 Ok, well, fi ...

    2. kettle连接Hbase中数据导入(8)

      http://wiki.pentaho.com/display/BAD/Loading+Data+into+HBase 1)下载样本文件 到官网去下载

    3. c# new关键字的三种用法

      三种用法如下: 在 C# 中,new 关键字可用作运算符.修饰符或约束. 1)new 运算符:用于创建对象和调用构造函数. 2)new 修饰符:在用作修饰符时,new 关键字可以显式隐藏从基类继承的成 ...

    4. vim 打开乱码

      首先,你需要搞清楚vimrc所在的位置.一般来说,在linux系统里,应该是这样 Linux: /usr/share/vim/vimrc在Windows系统,应该是在vim的安装目录 Windows: ...

    5. redis数据类型:sets

      sets类型及操作: set是集合,它是string类型的无序集合.set是通过hash table实现的, 添加.删除和查找的复杂度都是O(1).对集合我们可以取并集.交集.差集. 通过这些操作我们 ...

    6. ural 1146. Maximum Sum(动态规划)

      1146. Maximum Sum Time limit: 1.0 second Memory limit: 64 MB Given a 2-dimensional array of positive ...

    7. 如何成为出色的IT项目经理:成功的五个关键因素

      “出色”的IT 项目经理的定义不是一成不变的.随着经济和商业因素的改变,项目经理的角色进行调整以适应新的需求,迎接新的挑战. 除了一般的困惑之外,还有一种看法就是,在组织中,不同的人对于项目经理的看法 ...

    8. ajax 假上传文件

      1. <form name="certForm" id="certForm" method="post" action="x ...

    9. ajaxpro——js调用后台的方法

      前提:添加并引用类库ajaxpro.dll 1.把引用的类库改为自己(如果是自己的话,就不用修改): <%@ Page Language="C#" AutoEventWire ...

    10. Windows API 之 GetModuleHandle

      Retrieves a module handle for the specified module. The module must have been loaded by the calling ...