Model view controller 核心数据应该只用于特定类型的数据模型,还是可以一直使用?

Model view controller 核心数据应该只用于特定类型的数据模型,还是可以一直使用?,model-view-controller,core-data,model,Model View Controller,Core Data,Model,我正在构建iOS应用程序。许多书都谈到使用核心数据的能力。到目前为止,我几乎一直在回避核心数据,因为它似乎从未适用于我创建的应用程序类型。我不确定这是真的还是我不知道这是怎么回事 例如,我为iPad构建了一个视频扑克应用程序。我已经根据MVC范例将应用程序分离出来。我的模型是我制作卡片的地方。因为我一直在跟踪正在玩和丢弃的牌,所以我将我的模型设置为一个单例,并且我的视图控制器要求模型提供它需要的牌 然后我想,也许我可以重建这种类型的应用程序,以便更好地了解核心数据是如何工作的。我想我的视图控制器

我正在构建iOS应用程序。许多书都谈到使用核心数据的能力。到目前为止,我几乎一直在回避核心数据,因为它似乎从未适用于我创建的应用程序类型。我不确定这是真的还是我不知道这是怎么回事

例如,我为iPad构建了一个视频扑克应用程序。我已经根据MVC范例将应用程序分离出来。我的模型是我制作卡片的地方。因为我一直在跟踪正在玩和丢弃的牌,所以我将我的模型设置为一个单例,并且我的视图控制器要求模型提供它需要的牌

然后我想,也许我可以重建这种类型的应用程序,以便更好地了解核心数据是如何工作的。我想我的视图控制器将引用核心数据模型,而不是单例模型。我知道核心数据是MVC设计模式的模型。核心数据存储对象。我的卡片是实物。这似乎是适用的。我应该能够使用核心数据重建我的应用程序。对吧?

然后我读到的关于核心数据的所有内容都是这样的:假设你有一位作者,他们写了几本书。作者与书、书与作者之间存在着一种关系。核心数据允许我对作者进行排队,并允许我访问他的书籍或处理这些数据

在我的示例(创建/访问卡片对象)中,我没有处理作者-书本类型关系。既然我没有处理这个问题,我是否应该假设核心数据不应该/不能用于我所描述的应用程序

为了使用核心数据,我必须有一个像作者和书籍这样的关系吗?或者这些示例只是展示了核心数据中内置的复杂功能


我并不急于使用核心数据重建我的应用程序,它可以正常工作。我只是在寻找一些方向,如何更好地理解何时以及为什么我想要/需要使用核心数据

如果需要持久化数据,可以使用核心数据。它是一个现成的持久性和对象管理框架。您不必担心如何存储或检索数据的细节

即使您只有一个实体(您的卡)。使用核心数据仍然可以。如果关系与你的情况无关,你就不必有关系。在您的特定示例中,您可能希望跟踪所玩的每一个扑克游戏、每个玩家的牌数和所发的牌数。这可能用于赛后分析,或查看历史记录,或自动重放游戏。您可以非常轻松地将所有这些存储在核心数据中

我使用核心数据的一些示例:

我有一个应用程序Flickr Gallery PRO。我保存所有已查看照片和所有已查看照片流的历史记录。我使用核心数据存储这些数据。如果我没有为此使用核心数据,我将不得不推出自己的持久化机制

我的另一个应用程序,Flurry统计,我再次使用核心数据。这里的目的是离线使用,并与Flurry服务器同步。我调用flurry服务器下载数据,并将其保存到核心数据中


我曾为大型报纸开发过应用程序。我们再次使用核心数据,以便应用程序与服务器同步,下载最新新闻并将其存储在核心数据中,以便用户稍后可以脱机阅读。

如果需要保留数据,您将使用核心数据。它是一个现成的持久性和对象管理框架。您不必担心如何存储或检索数据的细节

即使您只有一个实体(您的卡)。使用核心数据仍然可以。如果关系与你的情况无关,你就不必有关系。在您的特定示例中,您可能希望跟踪所玩的每一个扑克游戏、每个玩家的牌数和所发的牌数。这可能用于赛后分析,或查看历史记录,或自动重放游戏。您可以非常轻松地将所有这些存储在核心数据中

我使用核心数据的一些示例:

我有一个应用程序Flickr Gallery PRO。我保存所有已查看照片和所有已查看照片流的历史记录。我使用核心数据存储这些数据。如果我没有为此使用核心数据,我将不得不推出自己的持久化机制

我的另一个应用程序,Flurry统计,我再次使用核心数据。这里的目的是离线使用,并与Flurry服务器同步。我调用flurry服务器下载数据,并将其保存到核心数据中


我曾为大型报纸开发过应用程序。我们再次使用了核心数据,这样应用程序就可以与服务器同步,下载最新新闻并将其存储在核心数据中,以便用户以后可以脱机阅读。

+1如果您根本不使用持久性,核心数据有时也有意义。存在内存中的存储类型。首先也是最重要的核心数据是一个对象图管理框架:它管理一个即使没有持久性也很有用的对象图。我忘了这一点,因为我从来没有在内存存储类型中使用过它。+1核心数据有时在根本不使用持久性的情况下也是有意义的。存在内存中的存储类型。首先也是最重要的核心数据是一个对象图管理框架:它管理一个即使没有持久性也很有用的对象图。我忘记了这一点,因为我从来没有在内存存储类型中使用它。