我在核心数据,书籍和作者中有两个实体。作者可以拥有多本书,但书籍只能有一位作者。
因此,在作者实体中,我与书籍有很多关系。在书籍实体中,我与作者有“一对一”的关系。 Core Data似乎没有选择为您提供多对一的关系。如果这是问题,我会很感激有人让我知道。
在每个关系的NSManaged对象中,我有
书中的:
@property (nonatomic, retain) Authors *author;
和作者
@property (nonatomic, retain) NSSet *book;
同样,我认为这是正确的,所以请告诉我这是不是
当用户创建新书对象时,我让他们将其与作者关联。此作者保存在名为_selectedAuthor
@property (strong, nonatomic) Authors *selectedAuthor;
将书籍对象保存为书籍后,最后一项任务是将其与selectedauthor对象关联。我试着这样做:
_selectedAuthor.book = book;
但是,这会引发异常
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unacceptable type of value for to-many relationship: property = "book"; desired type = NSSet; given type = Books; value = <Books: 0x13615a9c0> (entity: Book; id: 0xd000000018600000 <x-coredata://34410921-1612-4B04-BC39-07F8ABD02E8C/Dare/p1560> ; data: {
bid = 23;
name = Exodus;
activity = nil;
}).'
当我转身并尝试
时book.author=_selectedAuthor;
编译器提供了错误'Property author not found on object of type NSManagedObject'
,尽管books类确实有一个作者属性,值得。
非常感谢有关如何解决此错误的任何建议