zoukankan      html  css  js  c++  java
  • iOS开发----数据存储----CoreData及其用法

    CoreData是iOS5后,苹果提供的原生的用于对象化管理数据并且持久化的框架(ORM)。

    CoreData本质上是将底层数据库封装成对象进行管理。但数据库实际上只是CoreData的一个功能,并不是全部功能。

    在iOS开发中,除了可以使用CoreData进行数据管理,还可以使用SQLite进行内存管理。

    并且有封装好SQLite代码的OC框架FMDB给我们使用。具体看我上篇文章。SQLite重要框架FMDB的使用.但对比SQLite,CoreData有下面几个优势。

    第一是CoreData作为苹果提供的原生框架,在内存方法比SQLite有性能上的优势。

    第二是CoreData操作数据不需要使用SQLite代码,使用方便。

    第三是CoreData把数据用面向对象方式进行管理,操作数据库更方便。
    CoreData的核心是Core Data stack(技术栈堆)。CoreData就是依靠Core Data stack中的几个对象进行数据操作的。

    这几对象是:
    NSManagedObjectContext ,管理对象的上下文: 负责管理模型对象的一个集合,
    NSManagedObjectModel 被管理的对象模型
    NSPersistentStoreCoordinator 存储调度器: 负责将数据保存到磁盘,
    NSPersistentStore用于保存模型数据,受NSPersistentStoreCoordinator 存储调度器的操控。
    这三个对象的关系如下面图片所示,苹果官方给出了这几个对向关系的图解。简单理解起来就是最上面的NSManagedObjectContext负责管理对象模型。然后将管理的对象模型发送给NSPersistentStoreCoordinator 存储调度器,存储调度器通过NSPersistentStore操作SQLite语句,将数据持久化到本地,保存到StoryFile

  • 相关阅读:
    (打表+优化)简单的求和 -- zzuli -- 1783
    (动态规划)matrix -- hdu -- 5569
    (贪心)School Marks -- codefor -- 540B
    (简单广搜) Ice Cave -- codeforces -- 540C
    (单调队列) Bad Hair Day -- POJ -- 3250
    链接的伪类选择器
    css定位的三种选择器
    选择器分组
    css和html的三种结合方式 页内和页外
    html的Meta标签
  • 原文地址:https://www.cnblogs.com/1018475062qq/p/6393582.html
Copyright © 2011-2022 走看看