Во-первых, убедитесь, что у вас есть взаимные, т.е. двусторонние отношения между Article
и Favorite
.Примерно так:
Article{
favorites<-->>Favorite.article
}
Favorite{
article<<-->Article.favorites
}
Определение взаимных отношений в Базовых данных означает, что установка отношения с одной стороны автоматически устанавливает его для другой.
Таким образом, чтобы установить новый Favorite
объект для вновь созданного Article
объекта, вы просто:
Favorite *fav =[NSEntityDescription insertNewObjectForEntityForName:@"favorite" inManagedObjectContext:context];
Articles *article = [NSEntityDescription insertNewObjectForEntityForName:@"Articles" inManagedObjectContext:context];
[article.addFavoriteObject:fav];
//... or if you don't use custom NSManagedObject subclasses
[[article mutableSetValueForKey:@"favorites"] addObject:fav];
Если либо объект Article
, либо объект Favorite
уже существует, вы должны сначала получить объект, но установка отношения будет работать точно так же.
Ключ должен убедиться, что у вас есть взаимные отношения, чтобы контекст управляемого объекта знал, как установить отношения в обоих объектах.