前言

1 - CoreData 是苹果公司封装的进行数据持久化的框架,首次在 iOS 3.0 版本系统中出现,它允许按照实体-属性-值模型组织数据,并以 XML、二进制文件或者 SQLite 数据文件的格式持久化数据

2 - CoreData 可以节省代码量:一般可达 30% 到 70%;它支持可视化建模;支持模型版本升级

3 - CoreData 的核心类

① NSManagedObjectConext:被管理对象上下文(数据管理器),相当于一个临时数据库。它负责应用与数据库之间的交互,增删改查基本操作都要用到(在实际开发中我们只关注该层)

② NSManagedObjectModel:被管理对象模型(数据模型器),它可以添加实体及实体的属性,为 xxx.xcdatamodeld 文件

③ NSPersistentStoreCoordinator:持久化存储助理(数据链接器),是整个 CoreData 的核心,用来配置数据存储的名字、位置、存储方式等

④ NSManagedObject:是从 CoreData 中取出来的对象,默认都是 NSManagedObject 对象,通过键值对来存取所有的实体属性,相当于数据库中的表格记录

⑤ NSFetchRequest:获取数据时的请求

模型版本升级

1 - 流程图

① 选中 xxx.xcdatamodeld 文件,选择 Editor ->Add Model Version

② 选择当前版本:点击新建的模型版本 CoreDataDemo 2,在工程属性面板中更新当前版本

③ 给 CoreDataDemo 2 中的实体 student 新增分数属性

④ 新建映射文件

⑤ 配置代码:修改 APPDelegate 文件中的 - (NSPersistentStoreCoordinator *)persistentStoreCoordinator 方法

⑥ 删除旧文件  Student.h 和 Student.m,选择 Editor ->Create NSManagedObject Subclass,选择对应版本、实体即可完成

iOS数据持久化 - CoreData的更多相关文章

  1. ios数据持久化--CoreData框架的介绍和使用

    1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5Leopard及以后的版本中 ...

  2. iOS 数据持久化(扩展知识:模糊背景效果和密码保护功能)

    本篇随笔除了介绍 iOS 数据持久化知识之外,还贯穿了以下内容: (1)自定义 TableView,结合 block 从 ViewController 中分离出 View,轻 ViewControll ...

  3. iOS -数据持久化方式-以真实项目讲解

    前面已经讲解了SQLite,FMDB以及CoreData的基本操作和代码讲解(CoreData也在不断学习中,上篇博客也会不断更新中).本篇我们将讲述在实际开发中,所使用的iOS数据持久化的方式以及怎 ...

  4. iOS数据持久化方式及class_copyIvarList与class_copyPropertyList的区别

    iOS数据持久化方式:plist文件(属性列表)preference(偏好设置)NSKeyedArchiver(归档)SQLite3CoreData沙盒:iOS程序默认情况下只能访问自己的程序目录,这 ...

  5. iOS开发笔记-swift实现iOS数据持久化之归档NSKeyedArchiver

    IOS数据持久化的方式分为三种: 属性列表 (plist.NSUserDefaults) 归档 (NSKeyedArchiver) 数据库 (SQLite.Core Data.第三方类库等 归档(又名 ...

  6. IOS数据持久化之归档NSKeyedArchiver

    IOS数据持久化的方式分为三种: 属性列表 (自定义的Property List .NSUserDefaults) 归档 (NSKeyedArchiver) 数据库 (SQLite.Core Data ...

  7. iOS数据持久化-OC

    沙盒详解 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文 ...

  8. iOS数据持久化

    在iOS中,实现数据持久化一般分为4大种: 1.属性列表 2.对象归档 3.SQLite 4.Core Data 一.属性列表 NSUserDefaults类的使用和NSKeyedArchiver有很 ...

  9. 转载 -- iOS数据持久化存储

    作者:@翁呀伟呀 授权本站转载 概论 所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据.在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方 ...

  10. iOS: 数据持久化方案

    数据持久化方案(如果总结不到位,或者有误的地方,敬请斧正) 一.功能: 主要是将数据持久化到本地,减少对网络请求的次数,既节省了用户的流量,也增强了App的体验效果. 二.种类:  plist存储:使 ...

随机推荐

  1. CCRD_TOC_2015_EULAR专刊第二辑

    中信国健风湿免疫临床通讯 EULAR2015专刊第2辑●目录   类风湿关节炎专题 ■ RA放射学进展的预测 OP0070 滑膜HIF-1a与RA关节破坏 THU0085 24周SDAI缓解能否预测R ...

  2. Python 生成多个空列表 空List 空数组方法

    生成多个空列表在统计一些参数时候,需要生成多个空List,此时直接办法是: a = [] b = [] c = [] d = [] ... 简洁办法为: a, b, c, d = [[] for i ...

  3. 使用Shapefile C Library读取shp文件并使用OpenGL绘制

    1. 概述 坐标数据是空间数据文件的核心,空间数据的数据量往往是很大的.数据可视化是GIS的一个核心应用,绘制海量的坐标数据始终是一个考验设备性能的难题,使用GPU进行绘制可有效减少CPU的负载,提升 ...

  4. Net6 Core Api(.net6)发布到IIS注意事项及显示HTTP 错误500.19解决方法

    Net6 Core Api发布到IIS不同于webapi,依赖框架不同,配置也移至项目内Program.cs 一.发布到指定文件夹,和IIS,不过注意IIS应用程序池选择的是 "无托管代码& ...

  5. 学习操作系统P3 多处理器编程:从入门到放弃 (线程库;现代处理器和宽松内存模型)

    啊 啊 啊 啊 操作系统会自动把线程放置在不同的处理器上 可以用top观察CPU使用率 啊 啊 啊 啊 a 甚至连一个简单的求和程序都做不对 a 汇编语言中的 lock: CPU的特性,通过总线加锁, ...

  6. 在orangepi 3 lts上使用SmartCardReader(读卡器)

    前期工作 orangepi 3 lts使用全志的H6芯片,通过查询该芯片的datasheet和user manual,可以发现H6有两个scr接口,分别为scr0和scr1,理论上是支持读卡器接口的, ...

  7. 微信小程序tabBar不显示的问题

    刚刚入门 随便试吧了几个小功能.在用到tabBar时,在未出现代码错误的情况下,tabBar不显示 后来改了改发现是打开的首页并没有包含在tabBar列表里.

  8. ABAP学习(35):常用Function

    ABAP Function ABAP Coding过程中比较好用的Function整理. 1.获取Domain信息 代码实例: "****************************** ...

  9. linux查看java堆栈信息_linux进程堆栈大小

    1.查看JAVA进程JVM参数 jinfo -flags pid(进程号) -XX:CICompilerCount=2 最大的并行编译数 -XX:InitialHeapSize=16777216 JV ...

  10. P9033题解

    P9033「KDOI-04」XOR Sum 题解 题目链接 传送门 题意简述 构造一个长度为 \(n\),值域为 \([0,m]\) 的异或和为 \(k\) 的序列,如果不存在则输出 \(-1\). ...