マップされたクラスが1つあるRestKitベースのアプリがあります。すべてが正常に機能しているようです。ただし、オブジェクトを取得すると、RestKitは警告を発します。
W restkit.object_mapping:RKObjectMapper.m:90 Found a collection containing only NSNull values, considering the collection unmappable...
警告は2回表示されます(おそらくJSON応答に2つのオブジェクトがあるため)。どうすれば修正できますか?
これが私のマッピングです:
RKManagedObjectMapping* presentationMapping = [RKManagedObjectMapping mappingForClass:[Presentation class]];
presentationMapping.primaryKeyAttribute = @"presentationId";
[presentationMapping mapKeyPath:@"id" toAttribute:@"presentationId"];
[presentationMapping mapKeyPath:@"title" toAttribute:@"title"];
[presentationMapping mapKeyPath:@"description" toAttribute:@"descriptionText"];
[presentationMapping mapKeyPath:@"download_url" toAttribute:@"downloadUrlString"];
[presentationMapping mapKeyPath:@"download_file_size" toAttribute:@"downloadFileSize"];
[objectManager.mappingProvider setMapping:presentationMapping forKeyPath:@"presentation"];
オブジェクトを取得する方法は次のとおりです。
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/presentations" delegate:self];
これが私のJSON構造です(curlを介して取得):
[
{
"presentation": {
"created_at":"2011-08-13T17:09:40+02:00",
"description":"Lorem ipsum",
"id":1,
"title":"Xxx",
"updated_at":"2011-08-13T17:09:40+02:00",
"download_url":"http://xxx.example.com/system/downloads/1/original/presentation1.zip?1313248180",
"download_file_size":171703
}
},
{
"presentation": {
"created_at":"2011-08-13T17:10:30+02:00",
"description":"Dolor sit amet",
"id":2,
"title":"Zzz",
"updated_at":"2011-08-15T00:22:10+02:00",
"download_url":"http://xxx.example.com/system/downloads/2/original/zzz.zip?1313360530",
"download_file_size":3182117
}
}
]
サーバーは私が制御するRails3.0アプリであり、必要に応じて応答形式を変更できます。
RestKit0.9.3を使用しています。