zoukankan      html  css  js  c++  java
  • iOS中sqlite和coreData的区别

    sqlite和coreData的区别:

    1.sqlite数据库的操作流程:

    创建数据库,再通过定义一些字段来定义表格结构,可以利用sql语句向表格中插入记录,删除记录,修改记录,表格之间也可以建联系。

    sqlite和coreData的类做个对应:

    表结构--------NSEntityDescription(菜单详情)

    数据库中所有的表格和他们的联系--------NSmanagedObjectModel(菜谱)

    数据库存放方式---------NSPersistentStoreCoordinator(厨师)

    查询语句-----NSFetchRequest(需求)

    表格的记录------NSManagedObject(实体管理类)

    数据库操作------NSManagedObjectContext(服务员小姐)

    2.coredata部分知识

    NSEntityDescription,NSManagedObjectModel

    NSEntityDescription用来定义表格结构,所以你就可以理解NSManagedObjectModel中的setEntities(NSArray *)entities函数大概有什么用了。通常定义model,是用文件CoreData.xcda****odel,可以图形化的操作,这类似用nib来创建界面。

         新建一个工程,使用coredata,模拟器运行之后,程序对应的document目录出现一个coreData.sqlite,可以利用sqlite3命令来查看里面的表格结构

    NSPersistentStoreCoordinator

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

    NSFetchRequest

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

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

    至于类

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

  • 相关阅读:
    WPF学员管理系统
    dotnet-千星项目OpenAuthNet基于NetCore21的快速开发框架
    MVC5仓库管理系统
    华为设备IPC V200R002C0SPC SDK连接demo
    基础界面
    交通建设项目管理信息化系统
    Apache常见interview
    mamcached+(magent+keepalived高可用)搭建及理论概述
    TCP/IP三次挥手,四次断开(精简)
    简述FTP的主动模式与被动模式(精简)
  • 原文地址:https://www.cnblogs.com/zhoulina/p/5467180.html
Copyright © 2011-2022 走看看