gpt4 book ai didi

swift - setter 的奇怪问题

转载 作者:行者123 更新时间:2023-11-30 12:49:31 24 4
gpt4 key购买 nike

我有这段代码,每当我运行应用程序时,它都会给我 EXC_BAD_ACCESS。我在 XCode 终端中通过 po 打印了 self.state 和 newValue.rawValue 的值,它们有值,但我不明白为什么我收到“EXC_BAD_ACCESS”错误和“CoreData:警告:无法加载以未找到实体类命名的类,使用默认的 NSManagedObject 代替”。当我执行以下操作时出现此错误

d.change = .n  //d is just instance of class from where state comes

可能是什么原因?

var change: A {         
get { return (A(rawValue: self.state) ?? .none)! }
set { self.state = newValue.rawValue }
}

enum A: Int16 {
case a = 1
case b = 2
case c = 3
case n = 90
}

state是继承自NSManagedObject的类的属性

@NSManaged var state: Int16

最佳答案

无法加载以实体 Class 命名的类 错误意味着您已在核心数据模型编辑器中创建了实体,但没有告诉它要使用什么类名。 Core Data 不知道类 Class 与实体 Class 一起使用,因为名称不必相同,因此 Core Data 不会假设它们是。因此它使用一个普通的旧 NSManagedObject,但会警告您。

您无法使用 Class 的属性,因为您没有该属性,因此您的应用会崩溃。

您可以通过转到核心数据模型编辑器并确保实体的类名称正确来修复此问题。

关于swift - setter 的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41172992/

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