gpt4 book ai didi

ios - Swift - 'init()' 在 iOS 9.0 : Use -initWithConcurrencyType: instead 中被弃用

转载 作者:搜寻专家 更新时间:2023-11-01 05:46:43 25 4
gpt4 key购买 nike

我的在线模型出现错误(黄色警告):

    var managedObjectContext = NSManagedObjectContext()

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

这是什么原因造成的?我该如何解决这个问题?

最佳答案

将其更改为:

var managedObjectContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)

您可以下载 Apple 的文档以查看更多详细信息。

NSConfinementConcurrencyType
Specifies that the context will use the thread confinement pattern.
Available in iOS 3.0 and later.
Deprecated in iOS 9.0.

或者 Command+Click "NSManagedObjectContext"直接到 NSManagedObjectContext.h:

@available(iOS, introduced=3.0, deprecated=9.0, message="Use another NSManagedObjectContextConcurrencyType")
case ConfinementConcurrencyType

@available(iOS, introduced=3.0, deprecated=9.0, message="Use -initWithConcurrencyType: instead")
public convenience init()

所以看起来 NSManagedObjectContext() 使用“ConfinementConcurrencyType”来初始化。当 Apple 在 iOS 9.0 中弃用“ConfinementConcurrencyType”时,为了连贯性,Apple 没有更改 init() 方法的行为。所以你最好使用另一个 NSManagedObjectContextConcurrencyTypes( PrivateQueueConcurrencyType, MainQueueConcurrencyType) 和另一个 init 方法:

init(concurrencyType: NSManagedObjectContextConcurrencyType)

关于ios - Swift - 'init()' 在 iOS 9.0 : Use -initWithConcurrencyType: instead 中被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33708583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com