美文网首页
CoreData使用

CoreData使用

作者: TigerManBoy | 来源:发表于2017-08-23 13:48 被阅读0次

CoreData简介:

CoreData是Cocoa平台上用来管理模型层数据和持久化数据的一个框架,主要是数据库存储框架,出来数据库,还可以存储xml和二进制数据。这篇文章主要介绍使用CoreData框架来对数据进行增、删、查操作。

CoreData数据模型的创建

想要使用CoreData,第一步创建数据模型,它描述了数据结构和关联关系等。可以理解为数据库的表结构。

在创建工程的时候,勾选Use Core Data,则Xcode会生成数据模型文件:它是一个.xcdatamodeld格式的文件。

如果创建工程时,没有勾选Use Core Data,则可以选择File -> New -> file 里手动添加该文件:

然后打开该文件,点击Add Entity 来添加一个Entity,也就是数据实体,相当于数据库中的一张表。可以将Entity修改成需要的名字,这里我修改为UserInfo,

图中Attributes是添加属性的地方,Relationships是关联关系的地方,点击+即可添加想要的属性。这里我给UserInfo添加userId和username两个属性。

选中一个数据,我们可以看到右侧的面板里面有该数据的一些属性,可以对数据进行一些限制,如字符串长度,数字类型的最大最小值;设置索引、默认值等。不同的数据类型可以设置不同的内容,一般维持默认就可以。

另外对于每一个 entity 实体类,Build 过后 Xcode 都会自动帮我们生成相应的实体类代码,生成的代码不会在工程目录中显示出来,但是可以通过导入头文件索引到;当然也可以配置成手动生成的,选中对应的 Entity 然后点击右侧面板的 Codegen,把 ClassDefinition 修改成 Manual/None,然后 Xcode 就不会再自动生成了。

默认语言是Swift,如果想修改成Objective-C,则:

这个时候也可以通过 Editor -> Create NSManagedObject Subclass 来生成相应的实体类:

需要注意的是,如果前面有自动生成过这些类文件,手动生成后可能会编译出错,因为工程里会索引到两份同样的代码,这个时候需要 Clean 一下工程再 Build 即可。

到此为止,CoreData 的数据模型就创建好了。

CoreData工程中使用

CoreData中主要用到三个对象结构:

1、NSManagedObjectModel — 描述了数据模型的结构信息

2、NSPersistentStoreCoordinator — 数据持久层和内存对象模型的协调器

3、NSManagedObjectContext — 内存中 managedObject 对象的上下文

首选创建一个单例,用来管理操作数据库:

在这里,没有将三个对象分开设置,放在创建数据库的方法里面:

1、创建 NSManagedObjectModel

2、创建NSPersistentStoreCoordinator

3、创建对象管理上下文,并设置解析器

接下来增、删、改、查功能就可以用管理上下文的对象[WYCoreDataManager shareManager].objectContext来进行操作了,具体的可以去demo上面看一下。

demo地址:CoreDataModel

相关文章

  • 第五篇:CoreData

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

  • CoreData 的简单使用__ 01

    注:使用coreData 记得导入 #import 1.创建模型文件C...

  • iOS_DataBase

    相关实用连接1.认识CoreData - 初识CoreData2.认识CoreData - 基础使用3.iOS进阶...

  • CoreData

    CoreData简介 CoreData 是基于 sqlite 的封装,CoreData一个比较大的优势在于在使用C...

  • Swift 3.0 使用CoreData兼容iOS9和iOS10

    Swift 3.0 使用CoreData兼容iOS9和iOS10的CoreData实例

  • 数据库操作语句

    CoreData CoreData的使用步骤 数据持久化:是将一个数据保存到文件中,而不是内存中 CoreData...

  • 【优化篇】coreData数据迁移

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

  • CoreData使用

    CoreData简介: CoreData是Cocoa平台上用来管理模型层数据和持久化数据的一个框架,主要是数据库存...

  • coreData使用

    本人ios初学者,为自己学习方便,复制各位大神的学习性文章放在自己简书里,仅作为自己学习方便使用,如果作者疑此行为...

  • FMDB实现ORM

    IOS开发者们在使用coreData和sqlite原生接口的问题上争论不休,使用coreData无疑更方便,它也在...

网友评论

      本文标题:CoreData使用

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