CoreData的使用

我对CoreData理解:CoreData封装了数据库的SQL语句,从而可以令开发人员通过直接操作对象完成对象的CRUD功能,而不需要编写sql语句。这个和Java的持久化框架Hibernate有点相似,通过对象的映射关系,将数据直接转成模型对象。

由于网上有关于CoreData的使用说明太多了,我在这里就不说如何使用,说下当前版本下(iOS11,Xcode9)使用CoreData的新变化和注意点,因为我在最近的使用过程中也遇到了同样的问题,但是搜索问题都没找到满意的答案。

1,NSManagedObject创建地方改变了

旧版本创建NSManagedObject的位置在


F22BF8CD-35B7-4124-8911-63054B46F997.png

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

AFF23816-271C-438B-9B2A-560AA60F2C56.png

2,默认生成语言为Swift

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

E6AD9E0B-B327-4FB2-91D4-18006DB83744.png

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

B642B9D9-6520-46E5-853E-D5056F36CCB9.png

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

BCB49808-7EB5-4CFE-859F-1B1A3AE6C261.png

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 9,954评论 4 55
  • 简介: CoreData 是数据持久化存储的最佳方式. CoreData 是基于 sqlite 的封装, 数据保存...
    Li_Cheng阅读 2,945评论 0 6
  • 说道IM,就不得不说一下iOS的数据存储方式,不知道大家有没有发现,当你换了手机,在微信上重新登录你的账号,你的聊...
    StephenCurry300阅读 517评论 0 2
  • 直播真的是火得一塌糊涂。各家公司都在布局直播,我的手机里面已经有了N多直播APP了。 话不多说,切入正题,各大直播...
    吴燕燕阅读 10,145评论 3 9
  • 秋日,午后,阳光穿过玻璃窗,洒在我的床,我趴在你的胸膛,听你诉说年少时的过往,那些美好的时光,在你的记忆里涓涓流淌...
    悟空不是大圣阅读 151评论 0 0
  • 我希望我能够做个感性的姑娘,说的矫情点,我觉得身边的一切都是美好的,每天我在幸福里醒来,在欢欣中睡去。永远向上,永...
    瑾萱Vanilla阅读 317评论 3 1
  • 有些事必须自己想通 有些事即使是对的,可你想不通,它就永远都是错的。 有些事,即使错了,可你认为它是对的,只有尝试...
    静若_安好阅读 844评论 1 1