美文网首页
CoreData的简单使用

CoreData的简单使用

作者: 天外丶飞仙 | 来源:发表于2016-11-22 20:40 被阅读43次

CoreData入门

CoreData简介

  • iOS开发中实现数据持久化存储的一种重要手段
  • 提供了对象-关系映射的功能,能降对象使用数据库或者XML等方式存储
  • 如果使用CoreData将数据存储在数据库中,不使用sql语句来操作数据

CoreData涉及到的类简单介绍

  • NSManagedObjectModel:用来加载CoreData数据模型文件,所有的数据模型可以全部加载在此对象中
  • NSManafedObjectContext:用于操作数据模型,并监测数据模型的变化
  • NSPersistentStoreCoordinator:数据持久化存储协调器,负责调度上层和底层对数据的操作
  • NSManagedObject:具体的数据模型对象
  • NSentityDescription:模型描述类,能够实例化得到具体的数据模型对象
  • NSFetchRequest:数据查询请求类
  • NSPredicate:通过谓词设置查询条件的类

Coredata使用前的准备工作

   //获取momd文件的路径
    NSString * path = [[NSBundle mainBundle] pathForResource:@"AnimalModel" ofType:@"momd"];
    //把路径转换为url
    NSURL * url = [[NSURL alloc] initFileURLWithPath:path];
    //获取被管理对象的模型
    NSManagedObjectModel * model = [[NSManagedObjectModel alloc] initWithContentsOfURL:url];
    //创建一个持久化得存储协调器将数据库模型关联起来
    NSPersistentStoreCoordinator * coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];
    //设置需要关联的路径
    NSString * str = NSHomeDirectory();
    NSLog(@"%@", str);
    NSString * dbPath = [str stringByAppendingString:@"/Documents/coreData.sqlite"];
    NSURL * url2 = [[NSURL alloc] initFileURLWithPath:dbPath];
    //关联数据库路径
    [coordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:url2 options:nil error:nil];
    //创建上下文
    _context = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
    //将数据协调器设置给上下文
    _context.persistentStoreCoordinator = coordinator;

//根据上下文拿到数据模型
    Dog * model = [NSEntityDescription                  insertNewObjectForEntityForName:@"Dog" inManagedObjectContext: _context];
    model.age = [[NSNumber alloc] initWithInt:18];
    model.name = @"张全蛋";


//创建请求对象
NSFetchRequest * request = [[NSFetchRequest alloc] initWithEntityName:@"Dog"];
//这里可以使用谓词设置查询条件
//拿到查询到的数组
    NSArray * array = [_context executeFetchRequest:request error:nil];

MagiclRecord

MagicalRecord 致力于更快捷和容易的使用CoreData。MagicalRecord 致力于使CoreData的代码更简洁,更简单的获取数据,并且使用最优化的操作,它提供了方便的方法,包含了CoreData使用的查询更新等的公用模板,降低了CoreData的使用门槛

相关文章

  • 【优化篇】coreData数据迁移

    前面有有写过一篇关于coredata简单使用的教程【进阶篇】iOS coreData简单使用教程 说起coreda...

  • MG--Swift3.0简单使用CoreData

    问题:什么时候使用CoreData?数据模型之间关系比较简单的时候 如何简单使用CoreData1.创建一个项目勾...

  • 第五篇:CoreData

    CoreData 初识CoreData 基础使用CoreData 高级使用CoreData 使用进阶CoreDat...

  • CoreData 简单使用

    0.0 coredata 相关术语及简介, 1.查看运行时的sql语句,在Product-Scheme-Edit ...

  • CoreData简单使用

    github地址借鉴文章 概念介绍coreDataNSManagedObjectContext 管理对象,上下文,...

  • CoreData的简单使用

    CoreData入门 CoreData简介 iOS开发中实现数据持久化存储的一种重要手段 提供了对象-关系映射的功...

  • CoreData的简单使用

    CoreData简介 CoreData用于做数据的持久化. CoreData不是数据库,但它可以通过数据库或XML...

  • coreData的简单使用

    这里只记录coreData的简单使用(增,删,改,查) 创建Data Model(注意,基础工程在创建的时候并没有...

  • CoreData的简单使用

    大家好之前项目中一直用的是fmdb进行本地数据持久化,最近在项目中用到了CoreData,,所以这次就简单发个文章...

  • CoreData 的简单使用

    CoreData 的简单使用 之前学了CoreData, 但是几周没用就忘记了, 这里整理下笔记, 以便忘记的时候...

网友评论

      本文标题:CoreData的简单使用

      本文链接:https://www.haomeiwen.com/subject/dxrmpttx.html