0

我即将开始一个新的 IOS 项目,我将使用 Core Data 作为我为最终用户存储数据的主要方式。我在应用程序的规划阶段遇到了一个问题,即如何保存、加载和删除核心数据对象。以下是我能想到的三种可能的方法:

方法 1
在 Application Delegate 中创建一个通用数据对象,我将使用该UISharedApplication方法将其检索到每个视图控制器中。这意味着当应用程序启动时,它将创建一个带有 Getter 和 Setter 的对象。
方法二
创建数据模型类(Subclass ofNSObject) 并在每个视图控制器中初始化它。这意味着每个视图控制器都必须拥有自己的 NSManagedObjectContext(应用程序委托将在启动时提供),它将在初始化时传递给数据模型类。这意味着在整个视图控制器中,它将使用它自己的数据模型类并从中调用方法。
方法 3
让每个单独的视图控制器自己进行保存。例如,a-(IBAction)didAdd;将所有代码保存到数据库中。这将使进行有效的数据调用变得更加容易,因为它可以NSFetchResultsController根据视图控制器(批量大小等)进行正确的设置。

我不确定哪种方法对我来说是最好的方法,如果你们中的任何人可以让我知道哪种方法最好,或者如果没有一种方法是好的,那么最好的方法是什么,我将不胜感激。

4

1 回答 1

0

还有一个方法4,和你的方法1类似:把你的数据访问代码放到一个模型类中,做成一个单例。这是在不同控制器之间共享模型状态的标准方式。将所有数据管理代码放入该单例模型有助于避免代码重复。

于 2012-07-06T02:06:31.763 回答