我们有一个鞋盒式应用程序,我们希望在Lion中创造一流的公民。这意味着整合自动保存&版本等。目前我们没有以文档为中心的模型,我们只是使用普通的Core Data栈。在OS X Lion中使用自动保存和版本的鞋盒/图书馆应用程序
UIPersistentDocument提供了一个非常简单的方法,以集成自动保存&版本,我看到两个选项,我们可以从选择使用新的API集成:
- “滥用” NSPersistentDocument我们的鞋盒式应用程序。从技术上讲,这将是一个基于文档的应用程序,但用户界面仍然是相同的iPhoto类库。这在概念上并不合理,但我们可以免费获得许多功能。
- 保留当前普通的Core Data堆栈并手动实现自动保存&版本。
我听到苹果代表对我们应该采取的方法提出反对意见,在我们开始实施之前澄清事情会很好。虽然我认为不应该使用它,但它也很诱人,因为我们可以免费获得很多东西。我甚至找不到在Core Data应用程序中手动实现自动保存&版本的足够文档。
我真的会倾向于使用1,但我看到了一些问题:
- 我使用的版本,只有一个数据库文件时很担心文件系统级的冲突。我找不到有关此主题的任何文档。
- 我很担心浏览“空间”时版本中的性能问题。
- 由于Versions必须打开多个实例,因此我们无法只强制执行一个开放数据库实例。我担心副作用和并发问题。 概念上,它看起来像一个黑客,我不喜欢黑客。
如果我们只想整合iCloud同步,我绝对不会考虑在我们的应用程序中使用以文档为中心的模型,因为Core Data直接支持它。如果我们坚持目前的非文档模式,我最担心的是开发人员的开销。
您是否有任何建议或想法如何将鞋盒应用程序集成到新的狮子世界中?
什么是“鞋盒式应用”? – TechZen
shoebox或库应用程序是一种将所有数据保存在一个窗口中而不是使用多个文档的应用程序。适用于鞋盒式应用的好例子是iPhoto,iTunes;基于文档的应用程序的好例子是Pages或Keynote。虽然iTunes和iPhoto是鞋盒应用程序,但它们仍然与“库”一起工作,该库本身就是一个文档,您可以在不同的库之间切换。 –