CoreData01-数据模型的创建
2017-12-21 本文已影响7人
Lovell_
一、数据模型文件(相当于数据库)的创建方法两个:
- 创建项目的时候勾选上,图01;
- 如果创建项目的时候没勾选上,则在项目中新建 ,command+N,图02。
![](https://img.haomeiwen.com/i894719/f7489fe3f9e7502b.png)
![](https://img.haomeiwen.com/i894719/f65d1d16b14bde04.png)
数据模型文件创建好了是这样,看后缀:
![](https://img.haomeiwen.com/i894719/23f44c7fdf3f14d8.png)
二、添加实体 Entity(相当于表)
一个 Entity ,就是一个数据实体,就相当于一张表,一般也就是一个模型。
添加实体 Entity:
![](https://img.haomeiwen.com/i894719/932486442563bbeb.png)
添加属性:
![](https://img.haomeiwen.com/i894719/0e9d52f0d9816f90.png)
到此为止,只是添加了实体 Entity,都还不会自动帮我们生成相应的实体文件。
三、生成 Entity 对应的实体类文件(相当于模型类)
3.1 看不见的实体类文件
关于是否自动生成相关实体文件,点击实体 Entity,最右边面板的 Codegen 有三个选项:
编译的时候是否会会自动产生相关实体类代码?
- Manual / None :不会;
- Class Definition:会,项目中看不到,但可以导入头文件;
- Category / Extension:不知道干啥的????
![](https://img.haomeiwen.com/i894719/95580ce1ec8162c7.png)
3.2 看得见的实体类文件
如果在项目中要产生看得见实体类代码,操作:
Editor -> Create NSManagedObject Subclass
注意:Codegen 的选项就不能选 Class Definition 了,要选 Manual / None,否则报重复的错误,如下。
duplicate symbol _OBJC_CLASS_$_Student in:
。。。
duplicate symbol _OBJC_METACLASS_$_Student in:
。。。
ld: 2 duplicate symbols for architecture x86_64
总结:
1、模型文件:相当于数据库
2、Entity 实体:相当于表
3、Entity 对应的实体类:相当于模型类
模型、实体、实体类,见图:
![](https://img.haomeiwen.com/i894719/b49addd04ecdf2cc.png)