CoreData不能再低调了

本文详细介绍如何使用苹果官方推荐的数据管理模型CoreData进行简单的数据操作,并提供了处理数据模型更新时遇到的问题及解决方案。

CoreData不能再低调了

image

作为苹果官方推荐的数据管理模型,肯定会好用。最近我也特别喜欢用它,因为简单简单。

1、建立一个自带CoreData的项目:

image

2、建立一个命名为Person的CoreData对象:(其实在sqlite对应的建立了一个person表)

image

3、给Person对象添加nameage的属性:(其实在person表添加了2个字段)

image

4、导入CoreData第三份神器库:CoreDataEnvir,具体的使用这里说明很清楚
5、使用CoreDataEnvir和本地的HCoreData.xcdatamodeld相互关联:(可以在沙盒找到对应的db.sqlite)
 [CoreDataEnvir registDefaultDataFileName:@"db.sqlite"];
 [CoreDataEnvir registDefaultModelFileName:@"HCoreData"];
6、给Person对象赋值并插入person表中:
    Person *qObj = [Person insertItem];
    qObj.name = @"harry";
    qObj.age = @23.5;
    [qObj save];
7、运行项目,沙盒找到对应的db.sqlite并且打开:

imageimage

8、问题来了,如果我想对Person添加新的字段,比如address,那么只要运行项目就会crash(太痛苦了,气的我都快要飞起来了image
9、找答案唄[解决1:删除原来的项目重新安装, 解决2:CoreData的数据升级]。这就涉及到了CoreData的数据升级问题了。选择HCoreData.xcdatamodeld -> Editor -> Add Model Version:

imageimageimage

10、项目选择新的数据模型:HCoreData 2.xcdatamodel

image

11、在HCoreData 2.xcdatamodelPerson新增address字段,再删除项目原来的Person类,重新建立关联HCoreData 2.xcdatamodelPerson类(见2):

image

12、运行,没有问题。插入下面代码:
    Person *qObj = [Person insertItem];
    qObj.name = @"harry";
    qObj.age = @23.5;
    qObj.address = @"shenzhen_nanshan_kejiyuan";
    [qObj save];
13、还是没有问题,回到7:(非常NICE,看到这个界面高兴的我都快跳起来了image)

image



GitHub下载DEMO


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值