1

全て ...

私は週末中これに費やしましたが、問題はまだ発生しています。他に何をすべきかわからないので、どんな助けでも大歓迎です。次のような JSON を送信しようとしています。

 { 
    "proof": 
    {
      "name":"fluff",
      "media_type":"Photo",
      "description":"This is a description"
    },
    "auth_token":"mphxNcEGJMJyU7iPmaLw"
 }

RestKit から次の例外が発生し続けます。

2012-07-23 10:29:17.001 restkittest[8389:707] *キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。

auth_token が渡しているオブジェクト (プルーフ) の一部ではないためだと思われますが、postObject は投稿するオブジェクトを 1 つしか持たないため、auth_token をプルーフと一緒に渡す方法がわかりません。

...そして、これはそれをやろうとする私のコードです:

@implementation proof
@synthesize name;
@synthesize description;
@synthesize media_type;
@synthesize duration;
@synthesize frequency_id;
@end

@implementation auth_token
@synthesize auth_token;
@end

- (BOOL)createProof:(proof *)proof
{
    BOOL ret = NO;

    [self.objectManager postObject:proof usingBlock:^(RKObjectLoader *loader)
     {
         loader.delegate = self;

         RKObjectMapping *proofMappingAccept = [RKObjectMapping mappingForClass:[proof class]];
         [proofMappingAccept mapKeyPath:@"name" toAttribute:@"name"];
         [proofMappingAccept mapKeyPath:@"description" toAttribute:@"description"];
         [proofMappingAccept mapKeyPath:@"media_type" toAttribute:@"media_type"];
         [proofMappingAccept mapKeyPath:@"duration" toAttribute:@"duration"];

         RKObjectMapping *mapping = [RKObjectMapping mappingForClass:[NSMutableDictionary class]];

         [mapping mapKeyPath:@"auth_token" toAttribute:@"auth_token"];
         [mapping mapKeyPath:@"proof" toRelationship:@"proof" withMapping:proofMappingAccept];

         loader.serializationMapping = [mapping inverseMapping];

         loader.objectMapping = mapping;
     }];

    return ret;
}
4

1 に答える 1

1

証明オブジェクトをキー「証明」の値として、auth_token をキー「auth_token」のオブジェクトとして NSDictionary を作成し、loader.sourceObject をこの辞書に設定します。

于 2012-07-24T08:23:52.440 に答える