这是一个初学者的问题:我看过的关于CoreData的每个教程都集中在数据库支持的存储上。它们都是从绘制一个带有关系之类的对象模型开始的。
但我的应用程序会像一个简单的绘图应用程序,想想Illustrator light或OmniGraffle。我在内存中为页面创建了一个对象,然后为绘制的元素创建了几个子对象。您将如何使用CoreData来实现这一点?
我不需要完成的代码,只需要指针或想法。
谢谢!
发布于 2010-02-04 02:23:47
每个程序设计都从数据模型开始(或应该从数据模型开始)。数据模型不仅存储程序的数据,还存储数据之间的逻辑关系。数据模型是程序的核心,其他一切都是以某种方式显示数据模型的一个或多个接口。
以绘制多边形的简单绘图程序为例。从逻辑上讲,该程序将从一个文档开始。在核心数据中,这将由数据模型中的文档实体和可能的NSManagedObject子类表示。反过来,文档将包含(关系)一个或多个页面。这些页面还会有一个实体和一个子类。页面将包含有关物理页面的数据,如页边距、页脚、页眉等。页面也将包含多边形。每个多边形实体子类都包含绘制多边形所需的信息,例如顶点的点。
当用户绘图时,控制器层将命令和屏幕位置转换为数据模型中的数据,然后根据需要再次返回。
使用核心数据构建数据模型有很多优点。
据我所知,Omnigraffle是基于Core Data的,所以如果你想要这样的应用,Core Data绝对是个不错的选择。
发布于 2010-02-03 21:58:17
核心数据需要定义对象图的模型,无论您使用的是持久化存储还是内存存储。你绝对应该读一读Core Data Programming Guide。
https://stackoverflow.com/questions/2192357
复制相似问题