我对CoreData理解:CoreData封装了数据库的SQL语句,从而可以令开发人员通过直接操作对象完成对象的CRUD功能,而不需要编写sql语句。这个和Java的持久化框架Hibernate有点相似,通过对象的映射关系,将数据直接转成模型对象。
由于网上有关于CoreData的使用说明太多了,我在这里就不说如何使用,说下当前版本下(iOS11,Xcode9)使用CoreData的新变化和注意点,因为我在最近的使用过程中也遇到了同样的问题,但是搜索问题都没找到满意的答案。
1,NSManagedObject创建地方改变了
旧版本创建NSManagedObject的位置在

但是新版本之后在菜单栏处

2,默认生成语言为Swift
在传统的项目中我们都使用OC变成,但是CoreData默认使用的是Swift语言,所以我们要设置回来OC,详情见图片

同时需要将codegen选为Manaul/None(我还没知道为什么要改这个,知道的同学可以留言,谢谢)

3,生成了4个分类
分别为A+CoreDataClass.h, A+CoreDataClass.m, A+CoreDataProperties.h,A+CoreDataProperties.m
前2个为正式类文件(可以在这个文件中添加私有方法和属性等), 后个为属性类文件。

PS:鉴于开发工程中使用CoreData有些令我不太满意的地方,我近期可能会写一款持久化-映射 的框架放到github。
网友评论