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. Hibernate中session.get()和session.load()的区别

      -- 翻译自https://www.mkyong.com/hibernate/different-between-session-get-and-session-load/ 很多时候你会发现,使用Hi ...

    2. Gentoo/Funtoo USE标记介绍

      Gentoo/Funtoo USE标记 USE的简单理解如下:一个软件不只包含软件本身,还包括其组件,如,文档,插件,GUI支持等.USE就是用来标记是否要安装软件的同时安装这些组件. 声明USE标记 ...

    3. dbg调试

      一.启动停止dbg dbg:tracer(). dbg:stop(). 二.跟踪常用函数 1.跟踪进程 dbg:p(PidSpec,TraceFlags). PidSpec Pid 一个特定进程ID ...

    4. Excel补全日期(日期按顺序补全)

      1.给出的数据 2.想补全缺失的日期,比如2015/3/1,2015/3/2,... 1)在D列输入完整的日期,如下图所示: 2)在E2处写函数“=IF(ISERR(VLOOKUP(D2,B:C,2, ...

    5. sql参数化查询避免注入漏洞的原因探析

      网上其他同学的都说是重用执行计划,将用户输入的作为文本查询,到底如何实现,我用下面三行代码来解析一下. DECLARE @test NVARCHAR() SET @test=' or 1='1 SEL ...

    6. socket通信实例

      ref: http://www.cnblogs.com/xudong-bupt/archive/2013/12/29/3483059.html http://blog.csdn.net/love_ga ...

    7. String类中一些常用的函数

      1 CharAt(index) : 通过他的索引来获取元素 @Test public void test1(){ String a="dfjkdjfd134"; for(int i ...

    8. finally语句包含return的情况

      结论:1.不管有木有出现异常,finally块中代码都会执行:2.当try和catch中有return时,finally仍然会执行:3.finally是在return后面的表达式运算后执行的(此时并没 ...

    9. RVM: instsallation

      login as user, do the following: curl -L https://get.rvm.io | sudo bash -s stable # add user to grou ...

    10. mongodb type it for more

      当使用MongoChef Core 链接mongodb的时候 ,需要查看更多的数据时候,系统提示  type it for more 可以设置系统参数 DBQuery.shellBatchSize = ...