タイトルがそれを正しく説明していることを願っています。
次の JSON を取得しました。
{"regions":[{"name":"Region 1", "zipcodes":["80432", "80433"]}, ...]}
そして、私は2つのエンティティを持っていRegion
ますZipCode
:
@interface Region : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *zipCodes;
@end
@interface ZipCode : NSManagedObject
@property (nonatomic, retain) NSString * zipCode;
@property (nonatomic, retain) Region *region;
@end
次のコードを使用して両方を埋めようとします。
RKEntityMapping *regionMapping = [RKEntityMapping mappingForEntityForName:@"Region" inManagedObjectStore:managedObjectStore];
//[regionMapping addConnectionForRelationship:@"zipCodes" connectedBy:@{@"zipCode" : @"zipcodes"}];
[regionMapping addAttributeMappingsFromDictionary:@{@"name":@"name"}];
RKResponseDescriptor *regionDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:regionMapping pathPattern:@"/regions" keyPath:@"regions" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[objectManager addResponseDescriptor:regionDescriptor];
ご覧のとおり、この回答addConnectionForRelationship: connectedBy:
で見たものも使用しようとしましたが、成功しませんでした。別の forを作成する必要があると思いますが、.RKEntityMapping
ZipCode
RKResponseDescriptor
あなたの誰かが同様の状況に対処したことがありますか? どのように解決しましたか?上記のリンクの例はかなり似ていますが、残念ながら投稿されたソリューションは非常に不完全です。
注 1: 既存のコードはデータベースに書き込みますname
が、データベースとの関係を作成せずZipCode
、郵便番号も書き込みません
注 2: 最新の RestKit バージョン (0.20pre) を使用しています。
注 3: ここで私の命を救うことができます ;)
よろしくお願いします!