Я столкнулся с проблемой CoreData, связанной с отношениями «один ко многим».Связь между объектами NSManagedObjects
Предприятие 1 - Authors
имеет отношения «один ко многим» с субъектом 2 - Books
. Я думаю, что Books
имеет отношения «один к одному» с Authors
.
Поскольку существует несколько книг одного автора в объекте автора У меня есть
@property (nonatomic, retain) NSSet *book;
Соответствующее свойство в книге объекта:
@property (nonatomic, retain) Authors *author;
Когда загружает приложение книги с сервера через API, после сохранения книги, я также пытаюсь сохранить автора и связать книгу с автором следующего кода:
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Books" inManagedObjectContext:self.managedObjectContext];
NSManagedObject *record = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:self.managedObjectContext];
record setValue:bookname forKey:@"bookname"];
if ([self.managedObjectContext save:&error]) {
Authors *newAuthor = [NSEntityDescription insertNewObjectForEntityForName:@"Authors" inManagedObjectContext:self.managedObjectContext];
newAuthor.aid = authorid;
newAuthor.book = record;
}
Этот код работает для меня один на один отношений, но и в этом случае, бросает следующее сообщение об ошибке исключения:
'NSInvalidArgumentException', reason: 'Unacceptable type of value for to-many relationship: property = "book"; desired type = NSSet; given type = Books;
Может кто-нибудь подскажет, как это исправить?
Update:
Я также попытался переключая его вокруг, чтобы читать:
record.author = newAuthor;
Но это дает ошибку
"property 'author' not found on object of type NSManagedObject"
хотя есть такое свойство, определенное в Books
объекта (как показано выше).
Жаль быть плотным, но я был удар моя голова об этом какое-то время ... Книги * запись = ???? – zztop
также, если основные данные создают метод, это под капотом или я должен что-то делать? – zztop
Я попытался исправить ответ. Дайте мне знать, как мы это делаем. :) –