このJSONデータをマッピングしようとして完全に立ち往生しています:
{
"All_Data": [
{
"TANTENNE": [
{"ID": 2068, "KIND": "PARABOLE"},
{"ID": 2069, "KIND": "ANTENNE TNT HERTZIENNE"},
{"ID": 2070, "KIND": "ANTENNE COLLECTIVE"},
{"ID": 2071, "KIND": "PARABOLE PLATE"}
],
"totalCount": 4,
"success": true
},
{
"success": true,
"FANTENNE": [
{"ID": 1121, "CONNECT": "Autre"},
{"ID": 1122, "CONNECT": "Neovia"},
{"ID": 1124, "CONNECT": "non"},
{"ID": 1125, "CONNECT": "oui"},
{"ID": 1126, "CONNECT": "Patch"},
{"ID": 1127, "CONNECT": "SRTD"},
{"ID": 1128, "CONNECT": "Standard"}
],
"totalCount": 7
},
{
"MANTENNE": [
{"ID": 2065, "STATUS": "NON PRESENTE", "ACTION": 1},
{"ID": 2066, "STATUS": "DEFECTUEUSE", "ACTION": 2},
{"ID": 2067, "STATUS": "2EME ANTENNE POSEE", "ACTION": 3}
],
"totalCount": 3,
"success": true
},
{
"totalCount": 5,
"LANTENNE": [
{"ID": 1139, "LOCATION": "AU SOL"},
{"ID": 1140, "LOCATION": "Balcon"},
{"ID": 1142, "LOCATION": "FACADE"},
{"ID": 1143, "LOCATION": "Toit"},
{"ID": 2064, "LOCATION": "JARDIN"}
],
"success": true
},
],
"success": true
}
Core Data エンティティ (およびすべての個々のリーフ オブジェクト ( TANTENNE
、FANTENNE
、 )MANTENNE
に関連付けられたクラス) があるとしLANTENNE
ます。
TANTENNE
上記の JSON を受け取ったら、 の 4 つのインスタンス、 の 7 つのインスタンスFANTENNE
、 の 3 つのインスタンスMANTENNE
、および の 5 つのインスタンスを挿入したいと思いますLANTENNE
。
これらのクラスには個別のマッピングがあります。
RKManagedObjectMapping *mapping = [RKManagedObjectMapping mappingForEntityWithName:@"TANTENNE" inManagedObjectStore:self.objectStore];
mapping.primaryKeyAttribute = @"id";
[mapping mapKeyPathsToAttributes:
@"ID", @"id",
@"KIND", @"kind",
nil];
[self setObjectMapping:mapping forKeyPath:@"TANTENNE"];
これは、マッピング プロバイダーの初期化時に呼び出されます。しかし、次のようなコンソール メッセージが表示されるため、これでは明らかに十分ではありません。
[…] T restkit.object_mapping:RKObjectMapper.m:293 Examining keyPath 'TANTENNE' for mappable content...
[…] D restkit.object_mapping:RKObjectMapper.m:303 Found unmappable value at keyPath: TANTENNE
「All_Combo.TANTENNE」キー パスを使用してマッピングを追加すると、RestKit は後で完全な配列を 1 つの宛先オブジェクトにマップしようとしてクラッシュします。
これは RestKit 0.10 を使用したものです (0.20 には移行していません。なぜなら、すべての Magical Record の機能がなくなっており、よく使用しているからです)。
洞察をありがとう。