CoreData one-many и проблема обратной связи

Вот ссылка на другой подобна ТАК вопрос , который имеет ответ, указывающий на эту хорошую статью о "Чтение, пишущий и фото метаданные" в .NET.

7
задан Peter Hosey 9 November 2009 в 01:35
поделиться

1 ответ

Есть разные возможности. Если у вас уже есть объект Category (например, полученный посредством запроса на выборку) и предполагая переменные

Category *category;
Item *item;

, вы просто делаете следующее:

item.category = category;

или

[category setValue: category forKey:@"category"];

, и все готово, так как Core Data автоматически устанавливает обратное отношения.

Если у вас нет объекта «Категория» или вы хотите вставить новый, выполните следующие действия:

// Create a new instance of the entity 
Category *category = (Category *) [NSEntityDescription insertNewObjectForEntityForName:@"Category" inManagedObjectContext:managedObjectContext];
// add all of the category properties, then set the relationship
// for instance set the category name
[category setValue:@"myCategoryName" forKey:@"name"];
[category setValue:item forKey:@"item"];

Затем вы установите этот объект «Категория» для своего объекта «Item» точно так же, как раньше. Наконец, показанные вами методы не используются Core Data за кулисами: эти методы доступны вам, так что вы также можете делать следующее:

[category addItemObject:item];

или обратное:

[item addCategoryObject:category];
9
ответ дан 7 December 2019 в 03:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: