6

マップされたクラスが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を使用しています。

4

2 に答える 2

1

この警告は、不適切なマッピングを示すものではありません。実際、このメッセージは、通常のオブジェクト マッピングの一部として発生する可能性があるため、デバッグまたはトレースとしてログに記録する必要があります。今後のためにログ レベルを変更するプル リクエストを送信します。したがって、マッピングは問題なく、この警告を抑えるために変更を加える必要はありませんのでご安心ください。:)

于 2011-08-15T13:32:34.100 に答える
0

最近インストールされたRestKitでもこの警告が表示されるため、RestKitコードに次の変更を加えました。

FILE: RKPbjectMapper.m 
FUNCTION: (BOOL)isNullCollection:(id)object
LINE: 104

かわった:

RKLogWarning(@"Found a collection containing only NSNull values, considering the collection unmappable...");

に:

RKLogDebug(@"Found a collection containing only NSNull values, considering the collection unmappable...");
于 2011-11-09T16:02:08.030 に答える