CoreData并不是一种新兴的技术,但是对于一般刚入门的初级开发者还是有一层神秘面纱存在的。下面简单介绍一下CoreData使用(从创建使用CoreData的项目开始).
一、如果你准备要在项目中使用CoreData,那么在最初创建项目工程的时候就要勾选Use Core Data(如果你最初创建项目的时候没有勾选或者项目开始一段时间才想到要用CoreData,这个要怎么做,我会在以后写出来),如下图
二、创建好工程,这个时候你会在工程中看到这么一个文件,名叫CoreData.xcdatamodeld,单击它,如下图:
三、创建你所需要的实体,给实体添加属性
点击上图中Add Entity,界面自动默认生成一个叫Entity的实体,如下图
双击实体Entity,改成你所需要的实体名字,注意实体名字首字母要大写,不然会有警告框弹出,告诉你Name must begin with upper case letter,如果不改成首字母大写是保存不成功的,这一点还是比较靠谱的。我创建一个叫Person的实体,下面为Person添加三个基本属性:name,age,sex。这个时候还有一点注意的是属性的名字首字母必须是小写,不然也会弹出警告框阻止你下一步的操作,告诉你Name must begin with lower case letter。点击上图中Attributes下面的加号为Person实体添加属性,如下图:
四、创建管理对象文件NSManagedObjectSubclass。这里需要注意:Xcode7和Xcode8是不一样的。Xcode7的话,步骤是这样的,右键New File...,在下面这个界面中拖动到Core Data 一栏,但是在Xcode8中,你会发现红框下图红框位置的NSManagedObject subclass 不见了,不要惊慌,肯定有替代的方法或者放在了别的位置。
下面就来介绍Xcode8怎么创建NSManagedObject
1、选中CoreData.xcdatamodeld文件,点击菜单栏上的Editor,你会发现在其下拉菜单里面有一项叫做Create NSManagedObject Subclass...,点击它 ,出现接下来的界面,
选中CoreData,点击next.在接下来的界面中选中你要管理的实体,例如demo中我只创建了一个实体Person,如果我创建了多个实体的话,这里列出多个实体供你选择,选中你要管理的实体,点击next,然后点击create。这个时候别开心,编译工程,你会发现报错了,如图:
2、解决错误
首先把上一步生成的这四个文件删除,
在Xcode8.1中,使用Editor中的Create NSManagedObject Subclass...命令的时候,需要先把你要管理的实体的Codegen选中Manual/none,如下图,
然后再按照1中所说步骤操作一遍,就生成了对应的model管理文件,编译通过。
具体对实体的操作将在下一篇文章中介绍