-1

RestKitObjectMapping 数组关闭空对象

我想在 Capital images 对象属性中映射 CapitalImage 对象。

//------------------------ The mapping I try to 


  [RKMIMETypeSerialization registerClass:[RKNSJSONSerialization class]
                                   forMIMEType:@"text/html"];


    RKObjectMapping *CapitalImageMap = [RKObjectMapping mappingForClass:[CapitalImage class]];
    [CapitalImageMap addAttributeMappingsFromDictionary:@{
                                                     @"src":  @"src"
                                                     }];


    RKObjectMapping *CapitalMap = [RKObjectMapping mappingForClass:[Capital class]];
    [CapitalMap addAttributeMappingsFromDictionary:@{
                                                  @"name":  @"name",
                                                  @"text":  @"text"
                                                  }];

   [CapitalMap addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"images" toKeyPath:@"images" withMapping:CapitalImageMap]];

    NSIndexSet *statusCodes = RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful);
    RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:CapitalMap
                                                                                            method:RKRequestMethodAny
                                                                                       pathPattern:nil
                                                                                           keyPath:nil
                                                                                       statusCodes:statusCodes];

    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.a10073.de4.dp10.ru/icapitals/capital.php"]];
    RKObjectRequestOperation *operation = [[RKObjectRequestOperation alloc] initWithRequest:request responseDescriptors:@[responseDescriptor]];
    [operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *result) {

        Capital *article = [result firstObject];
        NSLog(@"Mapped the article: %@ , %@", article.name,article.images.description);

    } failure:^(RKObjectRequestOperation *operation, NSError *error) { NSLog(@"Failed with error: %@", [error localizedDescription]); }];

    [operation start];

我得到这个结果

2013-09-27 23:20:49.028 iCapitals v2[5099:c07] Mapped the article: London , (
    (null),
    (null),
    (null),

)

日志 - http://www.a10073.de4.dp10.ru/icapitals/consoleresult.txt

请检查代码并告诉我做错了什么,谢谢!!!

4

1 回答 1

0

您的映射看起来正确。日志显示映射正常进行。问题似乎与CapitalImage班级有关。为什么它给出一个零描述?这可能是唯一的问题。所以你的数组日志是一个 nil 列表,但对象确实存在。

尝试记录src每个对象的。您是否看到其他问题?你实现了这个description方法吗?

于 2013-09-27T22:44:20.443 回答