Tag: Core Data限制

核心数据概述

核心数据是Apple在macOS和iOS操作系统中提供的对象图和持久性框架。 如果您正在阅读本文,那么我认为您是Core Data的新手,您可能听说过它,并且对它的确切含义以及在何种情况下可以使用它感到好奇。本教程中的代码。 相反,我想重点介绍Core Data中使用的术语。 如果此描述适合您,请坐下。 在不了解核心数据基础知识的情况下,很难理解核心数据的来龙去脉。 什么是核心数据 核心数据通常被视为数据库。 让我为您清除此问题“不是”。 它是MVC(模型视图控制器)中的“ M”。 它是用于管理对象图并持久化对象图的框架。CoreData不是关系数据库。 它实际上是一个框架,允许开发人员以面向对象的方式从数据库存储(或检索)数据。 借助Core Data,您甚至可以在不知道任何SQL的情况下轻松地将应用程序中的对象映射到数据库中的表记录。 何时使用核心数据 该框架非常适合各种应用程序,但并非每个应用程序都应使用Core Data。 需要轻量级模型层的应用程序不应使用Core Data。 如果您想要一个管理应用程序模型层的解决方案,Core Data是一个绝佳的选择。 核心数据VS SQLite Core Data和SQLite之间最重要的区别是SQLite是数据库,而Core Data不是。 这是最重要的区别,因为没有什么可比较的。 Core Data和SQLite是解决不同问题的解决方案。CoreData可以使用SQLite作为其持久存储,但框架本身不是数据库。 核心数据栈 核心数据堆栈是框架对象的集合。 核心数据堆栈是对象和外部数据存储之间的中介。 核心数据堆栈处理与外部数据存储的所有交互。 因此,程序员可以只专注于业务逻辑。 堆栈由3个主要对象组成。 1.管理对象模型 2.持久性存储协调员 3.管理对象上下文 1.管理对象模型 托管对象模型是NSManagedObjectModel类的实例,它加载数据模型并将其公开给Core Data堆栈。 设置应用程序的核心数据堆栈后,托管对象模型将从应用程序捆绑包中加载数据模型。 创建堆栈后, NSManagedObject加载到Stack中。 2.持久性存储协调员 持久存储协调器位于核心数据堆栈的中间。 持久性存储协调器是堆栈的核心。 它用于释放模型中存在的实体的实例。 它创建实体的新实例,并从持久性存储中检索现有实例。 NSManagedObject定义数据, NSPersistentStoreCoordinator从持久性存储中的数据中释放对象,并将该数据对象传递给NSManagedObjectContext NSPersistentStoreCoordinator还检查数据是否处于与NSManagedObjectModel.定义匹配的状态NSManagedObjectModel. 它保留对托管对象模型和托管对象上下文的引用。 […]