PhotoKit 的数据模型

栏目: IOS · 发布时间: 6年前

内容简介:作者:Ole Begemann,译者:在 iOS 系统中,

作者:Ole Begemann, 原文链接 ,原文日期:2018-09-28

译者: 张弛 ;校对: numbbbbbYousanflics ;定稿: Forelax

在 iOS 系统中, PhotoKit 框架 不仅被系统的照片 App 所使用,同时它也为开发人员访问设备的照片库提供了接口支持。而它的底层则是 Core Data 实现的。

至少从这两个地方,你就可以确认这一点:

  1. 编写一个能够访问照片库的应用,并使用 -com.apple.CoreData.SQLDebug 1. 来启动这个应用程序。当你访问照片库时,从控制台就可以看到 Core Data 的调试信息。
  2. 如果查看 PhotoKit 框架的 class dump ,你将会在主要的类中看到对 NSManagedObjectID 和其他 Core Data 类型的引用,例如, PHObject 有一个 _objectID:NSManagedObjectID 的 ivar

寻找 PhotoKit 的核心数据模型

为了更好地理解 PhotoKit 框架(特别是它的性能特征),我检查了它的数据模型。我在 Xcode 10.0 应用程序的包内容中找到了一个名为 PhotoLibraryServices.framework / photos.momd / photos-10.0.mom 的文件:

/Applications/Xcode-10.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/PrivateFrameworks/PhotoLibraryServices.framework/photos.momd/photos-10.0.mom

你可以使用如下的命令来查找 Xcode 中模拟器运行时内的其他 Core Data 模型:

find /Applications/Xcode-10.app -name '*.mom'

在 Xcode 中打开已编译的 Core Data 模型

.mom 文件是 已编译的 Core Data 数据模型。Xcode 无法直接打开它,但可以将它 导入 到另一个 Core Data 模型中。通过如下的步骤,我们就可以在 Xcode 中查看这个模型:

.xcdatamodeld
.mom

不幸的是,编译的模型并不存储 Xcode 的模型编辑器的布局信息,因此你必须手动将编辑器中的实体拖出来一个漂亮的样式中。这花了我几个小时。

温馨提示:你可以使用箭头键(和 shift 键+箭头键)精确定位事物。

专家提示:请勿点击 ⌘Z 撤消移动操作。对图形的编辑不会被 Xcode 视作一个可撤销的操作,因此 Xcode 可能会撤消一开始的导入操作,这意味着你将丢失所有未保存的工作。

带有良好格式的 PhotoKit 的模型

这是与 Xcode 10.0(iOS 12.0)捆绑在一起的 photos-10.0.mom

PhotoKit 的数据模型

并非所有的内容都能在这张图片中被看到。你可以 下载完整模型 并在 Xcode 中查看它的一些属性。

请注意,这不一定是 iOS 上的照片的完整数据模型。更多的一些 Core Data 模型被放置在 PrivateFrameworks/PhotoAnalysis.framework 中。

本文由 SwiftGG 翻译组翻译,已经获得作者翻译授权,最新文章请访问http://swift.gg。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数学与泛型编程

数学与泛型编程

[美]亚历山大 A. 斯捷潘诺夫(Alexander A. Stepanov)、[美]丹尼尔 E. 罗斯(Daniel E. Rose) / 爱飞翔 / 机械工业出版社 / 2017-8 / 79

这是一本内容丰富而又通俗易懂的书籍,由优秀的软件设计师 Alexander A. Stepanov 与其同事 Daniel E. Rose 所撰写。作者在书中解释泛型编程的原则及其所依据的抽象数学概念,以帮助你写出简洁而强大的代码。 只要你对编程相当熟悉,并且擅长逻辑思考,那么就可以顺利阅读本书。Stepanov 与 Rose 会清晰地讲解相关的抽象代数及数论知识。他们首先解释数学家想要解决......一起来看看 《数学与泛型编程》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具