我有这个代码,每当我运行应用程序时,它都会给我EXC_BAD_ACCESS。 我在XCode的终端打印了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
答案 0 :(得分:0)
Unable to load class named for entity Class
错误意味着您已在Core Data模型编辑器中创建了该实体,但您没有告诉它使用哪个类名。核心数据不知道类Class
与实体Class
一起使用,因为名称不必相同,因此核心数据不会假设它们是。所以它使用普通的NSManagedObject
,但警告你。
您无法使用Class
的属性,因为您没有WAMySeasideApp>>startUp: resuming
WAMySeasideApp waApplication
preferenceAt: #maximumRelativeAge
put: 18000. "5 hours"
WAEFTTasksApp waApplication
preferenceAt: #maximumAbsoluteAge
put: 86400. "24 hours"
ZnZincServerAdaptor startOn: 8080.
WAMySeasideApp>>waApplication
^ WAAdmin defaultDispatcher handlerAt: 'my-seaside-app'
,因此您的应用会崩溃。
您可以通过转到Core Data模型编辑器并确保实体的类名是正确的来解决此问题。