0

我什至不知道如何命名这个:

假设我有一个制造商实体和一个模型实体,具有一对多的关系。每个制造商可以有多个模型(仅以这些为例)。

制造商有一个 tableview 及其独立的 fetchedResultsController,然后当您按下制造商单元格时,您会转到模型 viewcontroller,它也有自己的 tableview 和 fetchedResultsController,ofc 显示相关的添加模型。

假设我想采用其中一个模型并将它们复制或剪切到另一个制造商,我正在考虑一种风格如下的方法:

-(void)copyThis:(Model*)model toThat:(Manufacturer*)manufacturer

我正在获取正确的制造商对象和正确的模型对象,但是如何实现将一个对象插入另一个对象?

4

2 回答 2

0

复印

Model *newModel = [NSEntityDescription insertNewObjectForEntityForName:@"Model" inManagedObjectContext:self.context];
newModel.property = model.property; //For every property
model.relationShipName = manufacturer;
[self.context insertObject:copyModel];

切割

model.relationShipName = manufacturer;

(我假设您有一个 xcdatamodeld 并生成了一个模型和制造商实体的 NSManagedObjectSubclass)

于 2013-07-26T00:20:13.790 回答
0

你想通过复制达到什么目的?您是否想要将精确参数添加到其他制造商的“新”模型,或者您是否希望关系与相同的模型对象?

假设您要保留 Model 对象的单个实例:

Manufacturer *fromManufacturer = ...
Model *model = [[fromManufacturer models] objectAtIndex:...];
Manufacturer *toManufacturer = ...

[toManufacturer insertModelObject:model];

if (isCut) [fromManufacturer removeModelObject:model];

要自动获取insertModelObjectandremoveModelObject方法,您可以使用 Xcode 自动为您生成NSManagedObject子类。当您查看 CoreData 模型文件时,它位于编辑器菜单下。请注意,方法和对象的名称可能会有所不同,具体取决于您创建的 CoredData 模型结构和关系名称。

于 2013-07-26T00:35:53.313 回答