iOS 7:UIDocument / UIManagedDocument 和 iCloud 发生了啥?
Posted
技术标签:
【中文标题】iOS 7:UIDocument / UIManagedDocument 和 iCloud 发生了啥?【英文标题】:iOS 7: What happened to UIDocument / UIManagedDocument and iCloud?iOS 7:UIDocument / UIManagedDocument 和 iCloud 发生了什么? 【发布时间】:2013-09-18 12:04:41 【问题描述】:我正在查看有关 iCloud 和 Core Data 的 WWDC 2013 会议。我真的很希望看到UIManagedDocument
或UIDocument
的任何新视频。您可能还记得,这些类理论上提供了一种出色而简单的方法,可以在本地和 iCloud 中使用 (UIManagedDocument
) 或不使用 CoreData (UIDocument
) 保存数据。但是这些概念已经或仍然存在一些非常烦人的基于系统的错误,尤其是在设备之间同步数据时,see for example here。
但是,没有视频涵盖 UIManagedDocument
/UIDocument
和 iCloud 主题。视频“Core Data 和 iCloud 有什么新变化?”只介绍了使用 Core Data 持久存储的经典方法,该方法由新 API 扩展以自动覆盖回退存储和同步。有人知道UIManagedDocument
/UIDocument
发生了什么吗?他们是否放弃并认为经典方法是让应用与 Core Data 和 iCloud 同步的更好方法?
【问题讨论】:
3/4 小时后再次询问,因为它在技术上仍处于 NDA 之下。 我相信添加到 ios 7 的 iCloud 实现中的新后备存储可以解决您的示例问题。请参阅“Core Data 和 iCloud 的新功能”WWDC 2013 Session 207。 你找到这个疑问的答案了吗?我真的很想知道使用UIManagedDocument
是否是个好主意。
【参考方案1】:
我的理解是UIManagedDocument
是核心数据的轻量级包装器,用于抽象出一些常见的核心数据设置和交互。这也是一种打包其他“文档”元素的方法,但管理这些项目的 iCloud 同步留给开发人员作为练习。
如果你使用的是 iCloud,UIManagedDocument 不支持文档目录中的“附加内容”(参见 additionalContentForURL:error: 及相关方法)
引用自:UIManagedDocument
另请参阅:additionalContentForURL:error:
几乎所有适用于核心数据的东西都适用于UIManagedDocument
,它在后台使用核心数据。例如,我在 APManagedDocument 项目中使用了新的后备商店。
您希望在 iOS 7 中看到哪些内容?
【讨论】:
我不同意你的意见。UIManagedDocument
是 UIDocument
的子类,并在其超类的扩展中与 Core Data 集成。 UIDocument
本身(因此是 UIManagedDocument
)是一个抽象类,用于管理与文档相关的操作,例如协调读写、同步、解决冲突等。因此 iCloud 同步是内置的,而不是针对开发人员的练习(参见课程这些的参考)。我希望看到这些类的进一步发展,以及使用 iCloud 协调读写背后的同步过程所需的错误修复。
今年 WWDC 明确表示,此时 UIManagedDocument
仅同步是 UIManagedDocument
的核心数据部分。我同意你的看法,如果 Apple 进一步学习这些课程会很好,但我认为今年他们专注于稳定核心数据同步。我觉得UIManagedDocument
看到核心数据同步本身刚刚开始形成可能有点为时过早。希望明年会更好。
P.S.当我说离开作为开发人员的练习时,我的意思是 UIManagedDocument
今天的立场。
您能否列出明确表明UIManagedDocument's
Core Data 的同步已稳定的会话?其实这是个好消息……
UIManagedDocument
没有特别提及,暗示UIManagedDocument
在后台使用核心数据,核心数据同步是过去一年核心数据团队的重点。以上是关于iOS 7:UIDocument / UIManagedDocument 和 iCloud 发生了啥?的主要内容,如果未能解决你的问题,请参考以下文章