前言

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. 下载、编译AspNetCore 的全过程

    1. clone 源码 下载新的 git clone --recursive https://github.com/dotnet/aspnetcore 如果之前clone过,但是没有使用 --recu ...

  2. 前瞻性研究: axSpA中轴放射学进展延缓得益于TNF抑制剂持续治疗3年

    西班牙学者近期发表的这项前瞻性研究是基于axSpA患者注册登记数据库,患者登记入库后,继续治疗和评估3年[1]. 患者分为2组,组1有46例,在登记入库时已经在用肿瘤坏死因子抑制剂(TNFi)且已治疗 ...

  3. slate源码解析(二)- 基本框架与数据模型

    源码架构 首先来看下最核心的slate包下的目录: 可以看到,作为一个开源富文本库,其源码是相当之少.在第一篇文章中说过,Slate没有任何开箱即用的功能,只提供给开发者用于构建富文本所需的最基本的一 ...

  4. LeetCode-1996 游戏中弱角色的数量

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/the-number-of-weak-characters-in-the-game 题目描述 你正 ...

  5. Kotlin学习-基础知识点

    一:基础要点 //常量定义 valval arg_a1: Int = 1  //变量定义varvar arg_a2 = 5  // 系统自动推断变量类型为Int备注:kotlin 定义变量必须给定初始 ...

  6. Word15 财务部年度报告office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分.   2.这一步非常的简单,打开下载素材文件,在 ...

  7. Linux中使用Makefile来运行QuestaSim

    环境:Win7x64,VMware15.0,centOS7.0,QuestaSim10.7c 假设已经编辑好了一个全加器还有运行这个DUT的testbech,代码如下: 点击查看代码 // filen ...

  8. QueryObject

    1 package com.ygm.aa.page.qo; 2 3 import lombok.Getter; 4 import lombok.NoArgsConstructor; 5 import ...

  9. springboot AOP配置

    在Springboot中添加AOP配置分两步: 最近学习AOP ,记录一下,虽然很多名字不太清楚,但是问题不大 1:在pom.xml中添加AOP依赖 2:建一个AOP配置类 下面来看下代码是怎么实现的 ...

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

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