• CoreData归纳使用


    1.CoreData简介

    2.CoreData数据模型

    3.CoreData的主要对象

    4.使用CoreData实现数据存储

    一.CoreData简介

    CoreData用做数据持久化,是数据持久化的最佳方式,CoreData能合理管理内存,避免使用sql的麻烦,高效,适用于大批量数据存储和查询。

    CoreData不是数据库,最终存储形式可以是SQLite数据库,xml,二进制,内存,或自定义数据类型等方式来存储数据。

    CoreData提供对象-关系映射的功能,使用面向对象的方式操作数据,即能够将OC对象转化成数据,保存在SQLite数据库中,也能将保存在数据库中的数据还原成OC对象。

     屏幕快照 2016-04-20 18.30.35.png

    二.CoreData数据模型

    1.创建数据库模型

     屏幕快照 2016-04-20 18.31.53.png

    2.添加数据库实体

     屏幕快照 2016-04-20 18.32.14.png

    3.添加实体的属性

     屏幕快照 2016-04-20 18.34.30.png

    4.建立实体的关联关系

     屏幕快照 2016-04-20 18.32.40.png

    三.CoreData的相关类

    1.NSManagedObjectContext:管理数据上下文,负责应用和数据库之间的交互,负责操作实际内容,主要作用为:插入数据,查询数据,删除数据。 当从数据持久层获取数据时,相当于把这些数据拷贝在便筏簿上,然后就可以随性所欲的修改这些值。通过上下文,可以对数据jil。

    2.NSPresistentStoreCoordinator:持久化数据助理,相当于数据库的链接器,是物理数据存储空间存储的物理文件和程序之间的桥梁,负责管理不同对象的上下文。

    3.NSEntityDescription:数据实体的描述,相当于数据库的一个表,描述实体间的关系,包括以下几个内容:①实体名称(name) ②实体类名NSManagedObject子类的名称 ③实体实例NSManagedObject对象或其子类的实例

    4.NSManagedObjectModel:是被管理的数据对象模型,对应我们自行定义的模型文件,用来加载数据模型文件。包含了各实体的定义信息,主要作用为:用来描述程序中的实体,实体属性,实体间的关系。

    5.CoreData核心类的依赖关系

     屏幕快照 2016-04-20 18.47.24.png

    6.总结

    ①引入CoreData框架 ②创建数据模型文件 .xcdatamodel ③初始化NSManagedObjectModel对象,加载模型文件,读取app中所有实体信息。 ④初始化NSPersistentStoreCoordinator对象,添加持久化库 ⑤初始化NSManagedObjectContext对象,拿到上下文对象操作实体。

    四.示例代码

    1.加载数据模型

     屏幕快照 2016-04-20 18.54.06.png

    2.创建持久化数据助理

     屏幕快照 2016-04-20 18.54.45.png

    3.数据持久化存储

     屏幕快照 2016-04-20 18.55.03.png

    4.初始化数据操作的上下文

     屏幕快照 2016-04-20 18.55.40.png

    5.NSManagedObjectContext的主要方法

    -save:将数据对象保存到数据文件 -deleteObject:将一个数据对象标记为删除,但是要等到context提交更改后才真正删除数据对象 -undo:回滚最后一步操作 -rollback:还原数据文件内容 -reset:清楚缓存的ManagedObject 。只应当在添加或删除persistent Stores使用 -executeFetchRequest:error:执行Fetch request并返回所有的匹配的数据对象

    6.添加数据

     屏幕快照 2016-04-20 19.02.20.png

    7.查询数据

     屏幕快照 2016-04-20 19.02.41.png

    8.删除数据

     屏幕快照 2016-04-20 19.02.50.png

    五.创建模型子类

    默认情况下,利用CoreData取出的实体都是NSManagedObject类型,能够利用键值对来存取数据。但是一般情况下,实体在存取数据的基础上,有时还需要添加一些业务方法来完成一些其他任务,那么久需要创建NSManagedObject的子类。

    1.创建模型子类

     屏幕快照 2016-04-20 19.14.14.png

    2.选择模型文件

     屏幕快照 2016-04-20 19.14.31.png

    3.选择需要创建子类的实体

     屏幕快照 2016-04-20 19.14.55.png

     屏幕快照 2016-04-20 19.15.07.png

  • 相关阅读:
    【excel】=EXACT(A1,B1) 比较两个字符串是否相等
    【oracle】oracle11g安装失败 提示找不到文件,模板General_Purpose.dbc不存在
    【oracle】11g服务器安装详细步骤
    【oracle】ceil函数 返回值 (大于参数的最小整数)
    【oracle】 months_between(date1,date2)
    javaWeb遍历获取session中的值
    tomcat+mysql数据库连接池的操作
    java中值得类型转化
    javaWeb图片验证码代码
    JSP与Servlet之间传值
  • 原文地址:https://www.cnblogs.com/graveliang/p/5682282.html
Copyright © 2020-2023  润新知