CoreData17 Mar 2025 | 6 分钟阅读 CoreData 是 Apple 提供的框架,用于在 iOS 应用程序中保存、跟踪、过滤和修改数据。它不是数据库,但它使用 SQLite 作为其持久存储。它用于管理应用程序中的模型层对象。它管理对象图、跟踪数据更改并在用户交互时修改数据。 在教程的前一节中,我们已经看到了如何使用用户默认值来存储短数据。但是,在本教程的这一部分中,我们将讨论如何使用真正的数据库框架(如 CoreData)来存储、修改和过滤应用程序数据库中的用户数据。 如何在 iOS 应用程序中使用 CoreData在这里,我们将创建一个包含 CoreData 作为框架的 iOS 应用程序,以存储和持久化数据对象。 让我们创建一个单视图 iOS 应用程序来演示 CoreData 的基础知识。要启用应用程序使用 CoreData,我们必须选中底部显示的“使用 CoreData”选项。 ![]() 现在,我们已成功创建了带有 CoreData 支持的 CoreDataExample 项目。如果我们观察,XCode 项目中有两个显著的变化。首先,Core Data 堆栈代码已添加到 AppDelegate 文件中。CoreData 堆栈代码附带有清晰的文档,以简短的注释形式出现。它设置 persistentContainer 并在有任何更改时保存数据。CoreData 堆栈代码显示在下图中。 ![]() 其次,新文件 CoreDataExample.xcdatamodeld 已添加到应用程序的包中。它充当数据的模型层。我们可以将实体、属性和关系添加到模型层中。 ![]() 将实体添加到 CoreData 模型我们可以通过选择文件底部提供的“添加实体”选项将实体添加到 xcdatamodeld 文件中。在文件的右侧窗格中,我们可以向实体添加属性、关系和提取的属性。 在这里,我们创建了一个 Student 实体,并在模型中添加了三个属性 id、age 和 name,如下图所示。 ![]() 现在,我们已经创建了我们的模型 Student。让我们向此模型添加一些记录。该模型将被保存到 CoreData 中。 要将记录添加到模型中,我们需要按照以下步骤操作。
要引用 persistentContainer,我们需要实例化 AppDelegate。AppDelegate 的实例是使用以下代码形成的。 要创建 context,我们可以使用下面的代码使用 persistentContainer 引用。 现在,我们需要使用我们刚刚创建的 context 引用来创建实体。 现在,我们需要将新的 Student 记录创建为实体对象。 现在,让我们向新创建的实体对象添加一些记录。 我们创建了一个 AppDelegate 对象、context、实体和实体对象。我们还设置了新创建的实体对象的值。 现在,我们需要将数据保存在 CoreData 中。要保存数据,我们使用 context 对象来保存 context。我们必须将此代码包装在 try-catch 块中。 现在,如果我们在应用程序中运行,我们的数据将被保存在 CoreData 中。 AppDelegate.swift 和 ViewController.swift 文件包含以下代码。 AppDelegate.swift ViewController.swift 获取记录从 CoreData 中获取记录非常简单。我们需要实例化 NSFetchRequest 类并创建一个请求对象。我们可以将此请求对象传递给 NSManagedContext 引用的 fetch() 方法。 以下代码可用于从 CoreData 中获取数据。 现在,ViewController.swift 文件包含以下代码。 下一个主题托管对象模型 |
我们请求您订阅我们的新闻通讯以获取最新更新。