`
linwwwei
  • 浏览: 222717 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
Core Data不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS)。
Core Data 为数据变更管理、对象存储、对象读取恢复的功能提供了支持。 它可以使用SQLite作为持久化存储的类型。 它本身并不是一个数据库(这点很重要,比如,你可以使用Core Data来记录数据变更,管理数据,但并不能用它向文件内存储数据)。
CoreData是对sqlite数据库的一个封装.
这个过程出现了, 表格的结构(schema), 所有表格的结构和相互联系构成整个数据库的模型, 数据库存放的方式(可以是文件或者在内存), 数据库操作, sql语句(主要是查询), 表格里面的记录
下面将上面说的文字, 跟CoreData的类作个对应:
表格结构    --> NSEntityDescription
数据库中所有表格和他们的联系 -->NSManagedObjectModel
数据库存放方式 --> NSPersistentStoreCoordinator
数据库操作 --> NSManagedObjectContext
查询语句 --> NSFetchRequest
表格的记录 --> NSManagedObject

可能上面的对应关系并非十分严格, 但确实可以帮助理解.
NSEntityDescription用来定义表格结构, 所以你就可以理解NSManagedObjectModel中的setEntities:(NSArray *)entities函数大概有什么用了 . 通常, 定义model, 是用文件CoreData.xcdatamodel, 可以图形化的操作.

NSPersistentStoreCoordinator
这个类的对象通常用NSManagedObjectModel的对象来初始化, 这个类抽象出不同的存放方式, 最经常用的是NSSQLiteStoreType.

NSManagedObjectContext
这个类的对象又用NSPersistentStoreCoordinator的对象来初始化, 它里面有些方法来添加, 删除NSManagedObject

NSFetchRequest
通常用NSEntityDescription来构造查询, 也就指定查询那个表格, 另外可以指定排序.

在CoreData的设计中, 下一层有相应的属性指向上一层, 所以NSManagedObject有属性得到NSEntityDescription, NSEntityDescription有属性得到NSManagedObjectModel.

NSFetchedResultsController, 只是又封了一下, 和NSFetchRequest合起来使用, 方便取数据, 另外和NSManagedObjectContext关联, 当数据库发生变化的时候收到通知.

另外还可以参考:
http://www.cocoachina.com/iphonedev/sdk/2010/1126/2397.html
分享到:
评论

相关推荐

    简单的数据库操作coredata

    CoreData 是苹果公司提供的一种数据管理框架,用于iOS、macOS以及其他Apple平台的应用程序开发。它为应用程序提供了对象关系映射(ORM)的功能,简化了数据存储和检索的过程,使得开发者能够更专注于业务逻辑,而...

    CoreData简单使用dome

    CoreData是苹果公司提供的一种数据管理框架,用于iOS、macOS以及其他Apple平台的应用程序中,它为应用程序提供了模型层的管理,包括对象的持久化、关系处理和查询能力。在这个"CoreData简单使用dome"中,我们将深入...

    CoreData添加、删除、查询

    CoreData是苹果公司提供的一种强大的数据持久化框架,主要用于iOS、macOS等Apple平台的应用程序。它为开发者提供了模型对象的管理和存储,使得在应用程序中处理复杂的数据结构变得更加方便。本示例将深入探讨如何...

    CoreData简单工具类

    CoreData是苹果iOS和macOS开发中的一个核心框架,用于管理应用程序的数据模型。它提供了一个对象图管理系统,用于存储和检索持久化的数据。这个“CoreData简单工具类”显然是为了简化开发者对CoreData的操作,使其在...

    CoreData iOS

    **CoreData iOS** CoreData是Apple为iOS和Mac OS X平台提供的一种数据管理框架,用于存储和检索应用程序的数据。它提供了对象关系映射(ORM)的功能,使得开发者可以使用面向对象的方式来处理数据库操作,简化了...

    CoreData使用demo

    coredata是iOS系统提供用于对象化管理数据并且持久化的框架,较于FMDB,coredata的优势:第一是CoreData作为苹果提供的原生框架,在内存方法比SQLite有性能上的优势。第二是CoreData操作数据不需要使用SQLite代码,...

    CoreData入门级程序 不看后悔

    CoreData是苹果公司为其iOS和macOS平台提供的一种强大的数据持久化框架,它为应用程序提供了一个模型-视图-控制器(MVC)架构中的“模型”层管理。在这个入门级程序中,我们将深入理解CoreData的基本概念、核心组件...

    coredata demo

    在iOS应用开发中,CoreData 是苹果提供的一种强大的对象图管理框架,用于处理应用程序的数据模型。这个"coredata demo"项目显然旨在展示如何利用CoreData进行数据的增删改查操作,并将这些结果显示在一个表格视图...

    coredata添加 删除 查找

    CoreData是苹果公司提供的一种数据管理框架,用于iOS、macOS等Apple平台的应用程序中,它简化了SQLite数据库的使用。在"coredata添加 删除 查找"这个主题中,我们将探讨如何利用CoreData来实现对SQLite数据库的基本...

    CoreData多表查询

    CoreData是iOS应用开发中的一个核心组件,用于管理和存储应用程序的数据。它是一个对象关系映射(ORM)框架,能够将数据库操作转化为面向对象的代码,简化数据管理。在这个"CoreData多表查询"的示例中,我们将深入...

    objc中国 CoreData swift4 版本 epub

    CoreData 是苹果公司提供的一种框架,用于在iOS和macOS应用程序中管理对象的生命周期和持久化数据。这个框架是Objective-C开发的,但随着Swift语言的发展,CoreData也逐渐提供了对Swift的良好支持,特别是在Swift 4...

    iOS CoreData 的小Demo

    这个“iOS CoreData的小Demo”是一个很好的起点,对于初学者来说,它可以帮助理解并掌握CoreData的基本用法。在这个项目中,你将看到如何设置数据模型,创建NSManagedObject子类,以及在UI中与CoreData交互。 1. **...

    CoreData-ICloud

    CoreData 是苹果公司提供的一种数据管理框架,用于iOS和macOS应用中存储、管理和检索对象。它是Objective-C和Swift开发者处理复杂数据模型的强大工具。在iOS应用中,使用CoreData可以方便地创建、修改和查询数据库,...

    CoreData增删改查

    CoreData是苹果公司提供的一种数据管理框架,用于iOS、macOS以及其他Apple平台的应用程序中,它为应用程序提供了模型层的抽象,使得开发者可以方便地进行数据的存储和检索。在这个"CoreData增删改查"的主题中,我们...

    CoreData 数据存储

    CoreData 是苹果公司提供的一种数据管理框架,用于iOS、macOS以及其他Apple平台的应用程序开发。它为应用程序提供了模型层的结构,以及存储和检索这些模型对象的机制,从而简化了数据管理任务。在这个"CoreData 数据...

    ios CoreData使用(封装)

    CoreData是Apple提供的一种框架,用于管理对象的生命周期和存储。它不仅处理数据模型的存储,还包括对象关系映射(ORM),使得开发者可以更方便地与数据库进行交互。本教程将深入探讨如何在iOS应用中使用CoreData...

    CoreData 封装

    CoreData 是苹果提供的一种强大的数据管理框架,用于在iOS、macOS以及其他Apple平台的应用程序中存储和检索数据。它提供了一种对象图管理和持久化的方法,使得开发者可以更方便地处理应用程序的数据模型。以下是关于...

    CoreData数据库操作和版本管理

    CoreData是苹果开发的一种数据持久化框架,用于iOS、macOS等Apple平台应用程序的数据管理。它为开发者提供了模型层的抽象,使得存储、检索和管理应用程序数据变得简单易行。在"CoreData数据库操作和版本管理"这个...

    Swift CoreData简单用法

    Swift中的CoreData是一种强大的对象图管理系统,用于存储和管理应用程序的数据。它提供了模型、视图、控制器(MVC)架构中的模型层支持,是iOS、macOS等Apple平台上的首选数据持久化框架。本教程将深入讲解如何使用...

Global site tag (gtag.js) - Google Analytics