gpt4 book ai didi

ios - Swift:XCode6 Beta 5 在 AppDelegate 中给出核心数据对象的错误

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:53 26 4
gpt4 key购买 nike

我正在使用 swift 编程语言开发应用程序。我使用的是 XCode6 Beta4 版本,所有的东西都运行得很顺利。我今天已将版本更新到 Beta5,但我在核心数据对象上收到以下错误:

  1. 类型“NSManagedObjectContext”不符合协议(protocol)“BooleanType”。

  2. 类型“NSManagedObjectModel”不符合协议(protocol)“BooleanType”。

  3. 类型“NSPersistentStoreCoordinator”不符合协议(protocol)“BooleanType”。

还附上了错误的屏幕截图。

enter image description here

最佳答案

实际上,您遇到的错误是 NSManagedObjectContext?NSManagedObjectModel?NSPersistentStoreCoordinator? 未确认为 BooleanType 协议(protocol)。注意 ? 类型名称末尾的问号。

所以你正在处理可选值。由于 Beta 5 Optionals 不再符合 BooleanType 协议(protocol)。

您需要明确检查nil,更改:

if !_managedObjectContext {
// ...
}

到:

if _managedObjectContext == nil {
// ...
}

_managedObjectModel_persistentStoreCoordinator 做同样的事情。

来自 xCode 6 Beta 5 发行说明:

Optionals can now be compared to nil with == and !=, even if the underlying element is not Equatable.

Optionals no longer conform to the BooleanType (formerly LogicValue) protocol, so they may no longer be used in place of boolean expressions (they must be explicitly compared with v != nil). This resolves confusion around Bool? and related types, makes code more explicit about what test is expected, and is more consistent with the rest of the language. Note that ImplicitlyUnwrappedOptional still includes some BooleanType functionality. This issue will be resolved in a future beta.

关于ios - Swift:XCode6 Beta 5 在 AppDelegate 中给出核心数据对象的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25157981/

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