【发布时间】:2012-05-25 16:09:06
【问题描述】:
我在尝试将数据存储在具有一对多关系的核心数据对象中时遇到 Cocoa 错误 1570。
日志文件有错误:
2012-05-25 12:02:38.919 TestProject[5059:12e03] DetailedError: {
NSLocalizedDescription = "The operation couldn\U2019t be completed. (Cocoa error 1570.)";
NSValidationErrorKey = conversation;
NSValidationErrorObject = "<Messages: 0x933e190> (entity: Messages; id: 0x933e1d0 <x-coredata:///Messages/tF3A62C22-456B-41EB-B9A4-0BA1E6738A6337> ; data: {\n conversation = nil;\n conversationID = nil;\n createdAt = nil;\n messageID = nil;\n nickname = nil;\n originNetwork = nil;\n text = nil;\n timestamp = nil;\n userImageURL = nil;\n})";
}
具体的关系是Conversations>Messages,或者一个对话可以有多个message,每个message都属于一个conversation。
在我的模型中,这两个 NSManagedObjects 都是可选的。
我的问题是,如何在 conversation 中正确存储 message 对象?
我知道它与集合有关,但我还没有正确实现它。
非常感谢任何和所有特定或抽象的代码-sn-ps!
谢谢!
【问题讨论】:
-
看起来你的 Message 对象有很多未设置的属性(nil 值)。对于您的消息实体,所有这些都是可选的吗?
-
这些 NSManagedObjects 是可选的是什么意思?如果
conversation是Messages的反比关系并且您没有将其设置为可选,那就是错误。每次创建Messages对象时,都必须传入Conversations对象。
标签: iphone objective-c ios core-data one-to-many