私は次のモデルを持っています:
@interface EquipmentModel : NSManagedObject
@property (nonatomic, retain) NSDate * creationDate;
@property (nonatomic, retain) NSString * desc;
@property (nonatomic, retain) NSNumber * identifier;
@property (nonatomic, retain) NSDate * lastModifiedDate;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSNumber * manufacturerID;
@property (nonatomic, retain) Manufacturer *manufacturer;
RESTKit と次のマッピングを使用して、そのオブジェクトをフェッチします。
RKEntityMapping *equipmentModelMapping = [RKEntityMapping mappingForEntityForName:@"EquipmentModel" inManagedObjectStore:managedObjectStore];
equipmentModelMapping.identificationAttributes = @[@"identifier"];
[equipmentModelMapping addAttributeMappingsFromDictionary:@{
@"id": @"identifier",
@"description": @"desc",
@"manufacturer_id": @"manufacturerID",
@"creation_date": @"creationDate",
@"last_modified_date": @"lastModifiedDate",
}];
[equipmentModelMapping addAttributeMappingsFromArray:@[ @"name"]];
[equipmentModelMapping addConnectionForRelationship:@"manufacturer" connectedBy:@{ @"manufacturerID": @"identifier"}];
ただし、モデルの前にメーカーがフェッチされない場合があるため、 getObjectsAtPath呼び出しが完了すると、モデルの「メーカー」関係は nil になります。製造元 ID を一時的ではないものにしたので、引き続き保存します。その場合、どうすれば関係を更新できますか?
1 つの可能性は、メーカーが取得した後にモデルを取得することです。ただし、より複雑な他のオブジェクトがあり、そのようなアプローチは機能せず、効率的ではありません。そのIDに基づいてCoreDataで関係をリンクするにはどうすればよいですか?!
どうもありがとう!