coreData初步认识

coreData初步认识

根据这片文档可以自己初步建立一个coreData,进行简单的数据的增删改查。

1、新建工程,记得勾选Use Core Data

coreData初步认识_第1张图片

2、建立好以后可以看到xxx.xcdatamodeld,在这里可以添加实体和实体的属性。需要注意的是:实体名字必须以大写开头。

coreData初步认识_第2张图片

3、然后新建一个file,记得是NSManagedObject cubclass(但是在Xcode8中,不用了这一步了)

coreData初步认识_第3张图片

4、勾选自己建立的工程

coreData初步认识_第4张图片

5、勾选建立的实体

coreData初步认识_第5张图片

6、next以后我们就可以看到建立好的实体是有4个文件,如图一

这里需要注意的是,xcode7以后建立的都是4个,而7以前的是两个,如图二

解释如下:So as you can see now all properties are in a separate file with category (CoreDataProperties). Later if you generate NSManagedObject subclass for the same model Xcode 7 will regenarete only 2 files with category (DBUser+CoreDataProperties.h and DBUser+CoreDataProperties.m) to update all properties from your model but it will not make any changes to 2 other files (DBUser.h and DBUser.m) so you can use these 2 files to add there some custom methods or properties etc.

In previous version Xcode generated always only 2 files (DBUser.h and DBUser.m) and it put properties there so you could not easily modify these files because your custom implementation was deleted everytime you regenerated your subclasses. Therefore it was a common practice to manually create a category and put your methods in your category which was oposite to what we can see in Xcode 7. That however had many disadvantages because we had to use a category for implementation of our methods which does not allow to do certain things and now we can easily modify the main interface and implementation files which allows us to do anything with it. Hurray!

图一

coreData初步认识_第6张图片

操作过程


coreData初步认识_第7张图片

7、增删改查(其实顺序应该是增、查、删或者改)

coreData初步认识_第8张图片
最新的写法:Dog * dog = [[Dog alloc]initWithEntity: entityDescription insertIntoManagedObjectContext:self.appDelegate.persistentContainer.viewContext];
coreData初步认识_第9张图片

查询结果

coreData初步认识_第10张图片
coreData初步认识_第11张图片

删除后再进行查,查询结果:

coreData初步认识_第12张图片
coreData初步认识_第13张图片

改完后的结果:

coreData初步认识_第14张图片

至此,完成。

这里知识coredata的初步认识,具体的增删改查还需要和自己的项目结合。

Demo下载:https://pan.baidu.com/s/1milyrlI

你可能感兴趣的:(coreData初步认识)