我相对精通 CoreData 并且已经使用它好几年了,几乎没有困难。对于我的生活,我无法弄清楚为什么
insertNewObjectForEntityForName:inManagedObjectContext:
突然返回了某种奇怪的 NSNumber 实例。 GDB 说返回的对象是 NSManagedObject 的正确自定义子类,但是当我去打印 NSManagedObject 本身的描述时,我得到以下错误:
*** -[NSCFNumber objectID]: unrecognized selector sent to instance 0x3f26f50
更奇怪的是,我能够使用 setValue:forKey: 设置一些关系和属性,一切都很好。但是,当我尝试设置一种特定关系时,出现此错误:
*** -[NSCFNumber entity]: unrecognized selector sent to instance 0x3f26f50
我已经尝试了从清除所有目标到重新启动 mac 和 iPhone,甚至编辑模型以便所讨论的关系是一对一而不是一对多的所有方法。无论我做什么,都会出现同样的问题。有没有人以前见过这样的事情?
最佳答案
我遇到了同样的问题:我向我的数据库实体的父实体添加了一个名为“isDatabase”的方法(返回一个 BOOL),它有一个名为“数据库”的关系。将“isDatabase”重命名为“isOfTypeDatabase”解决了这个问题。所以还要继续寻找父实体!
关于iphone - insertNewObjectForEntityForName :inManagedObjectContext: returning NSNumber bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2739897/