iOS开发之数据存取2-CoreData后台查询数据

注意:本人所讲的后台查询必须在使用CoreData时选择存储类型为“SQLite”,因为二进制或者XML存储方式会在打开的时候直接读到内存中。

1、CoreData数据后台查询出现的情况

  CoreData后台查询数据的ID,然后在主线程通过ID取出所需要的数据模型,可以提高效率,提升用户体验。

2、CoreData后台查询的步骤

  > 创建一个新的管理对象上下文background context,类型为:NSPrivateQueueConcurrencyType

  > 调用background context的performBlock:方法,后台执行查询操作,获取所需数据的ID

  > 后台查询结束时,通过dispatch_async回到主线程,在main context中调用objectWithID:方法获得在后台线程查询的对象,用于更新UI界面

注意:一个应用程序中可以有很多context,但是在不能在线程context之间不能传递查询到的对象(也就是说,你需要在哪个线程用到数据就必须在那个线程先查询,不能从其它线程获取),因为存储对象不是线程安全的

转载于:https://www.cnblogs.com/liufeng24/p/3515308.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值