可可 – 在iOS 9.0中,NSManagedObjectContext():`init()`已被弃用:Use -initWithConcurrencyType

可可 – 在iOS 9.0中,NSManagedObjectContext():`init()`已被弃用:Use -initWithConcurrencyType,第1张

概述我在 Core Data Stack in Swift – Demystified工作,但当我到了线上 self.context = NSManagedObjectContext() 我得到了警告 `init()` was deprecated in iOS 9.0: Use -initWithConcurrencyType: instead 我看到我可以为self.context =执行以下 *** 作 我在 Core Data Stack in Swift – Demystified工作,但当我到了线上

self.context = NSManagedobjectContext()

我得到了警告

`init()` was deprecated in iOS 9.0: Use -initWithConcurrencyType: instead

我看到我可以为self.context =执行以下 *** 作之一

NSManagedobjectContext(concurrencyType: NSManagedobjectContextConcurrencyType.ConfinementConcurrencyType)NSManagedobjectContext(concurrencyType: NSManagedobjectContextConcurrencyType.MainQueueConcurrencyType)NSManagedobjectContext(concurrencyType: NSManagedobjectContextConcurrencyType.PrivateQueueConcurrencyType)

但是由于ConfinementConcurrencyType也被弃用,现在让我留下MainQueueConcurrencyType和PrivateQueueConcurrencyType.这两者有什么区别,我应该如何选择使用哪一个?我读了this documentation,但我真的不明白.

解决方法 您本质上将始终至少具有MainQueueConcurrencyType和许多上下文与PrivateQueueConcurrencyType至少1个上下文. PrivateQueueConcurrencyType通常用于在后台保存或提取核心数据(如尝试与Web Service同步记录).

MainQueueConcurrencyType创建与主队列关联的上下文,非常适合与NSFetchedResultsController一起使用.

默认的核心数据堆栈使用MainQueueConcurrencyType的单一上下文,但您可以通过利用多个PrivateQueueConcurrencyType来执行不影响UI的任何工作来创建更好的应用程序.

总结

以上是内存溢出为你收集整理的可可 – 在iOS 9.0中,NSManagedObjectContext():`init()`已被弃用:Use -initWithConcurrencyType全部内容,希望文章能够帮你解决可可 – 在iOS 9.0中,NSManagedObjectContext():`init()`已被弃用:Use -initWithConcurrencyType所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1031532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存