Ios RestKit映射上的关系错误

Ios RestKit映射上的关系错误,ios,objective-c,restkit,Ios,Objective C,Restkit,我真的不明白我为什么会出错:/ 有人能看看吗 Json文件: { "total_count": 3, "incomplete_results": false, "winners": [ { "windate": "2015-05-26 17:11:30.0", "gift": "foo", "email": "foo", "giftack": "foo", "lastname": "foo",

我真的不明白我为什么会出错:/ 有人能看看吗

Json文件:

{
"total_count": 3,
"incomplete_results": false,
"winners": [
    {
        "windate": "2015-05-26 17:11:30.0",
        "gift": "foo",
        "email": "foo",
        "giftack": "foo",
        "lastname": "foo",
        "gender": "foo",
        "firstname": "foo",
        "updategiftdate":null
    }
],
"nbWinners": 3
}
    //Winner List Mapping
RKEntityMapping *winnerListMapping =
    [RKEntityMapping mappingForEntityForName:@"WinnerList"
                        inManagedObjectStore:managedObjectStore];
winnerListMapping.identificationAttributes = @[@"nbWinners"];
[winnerListMapping addAttributeMappingsFromDictionary:@{
                                    @"total_count" : @"totalCount",
                             @"incomplete_results" : @"incompleteResults",
                                      @"nbWinners" : @"nbWinners" }];

//Winner Mapping
RKEntityMapping *winnerMapping =
    [RKEntityMapping mappingForEntityForName:@"Winner"
                        inManagedObjectStore:managedObjectStore];
winnerMapping.identificationAttributes = @[@"winDate"];
[winnerMapping addAttributeMappingsFromArray:@[
                                            @"windate", @"gift", @"email", @"giftack", @"lastname", @"gender", @"firstname", @"updategiftdate"]];

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];

//Run Mapping
RKResponseDescriptor *winnerListResponseDescriptor =
[RKResponseDescriptor responseDescriptorWithMapping:winnerListMapping
                                             method:RKRequestMethodGET
                                        pathPattern:@"example.json"
                                            keyPath:nil
                                        statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)
 ];
[objectManager addResponseDescriptor:winnerListResponseDescriptor];
2015-09-16 10:13:25.018 iDol Check[26031:954937] I'm betting this is the error.

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];
映射文件:

{
"total_count": 3,
"incomplete_results": false,
"winners": [
    {
        "windate": "2015-05-26 17:11:30.0",
        "gift": "foo",
        "email": "foo",
        "giftack": "foo",
        "lastname": "foo",
        "gender": "foo",
        "firstname": "foo",
        "updategiftdate":null
    }
],
"nbWinners": 3
}
    //Winner List Mapping
RKEntityMapping *winnerListMapping =
    [RKEntityMapping mappingForEntityForName:@"WinnerList"
                        inManagedObjectStore:managedObjectStore];
winnerListMapping.identificationAttributes = @[@"nbWinners"];
[winnerListMapping addAttributeMappingsFromDictionary:@{
                                    @"total_count" : @"totalCount",
                             @"incomplete_results" : @"incompleteResults",
                                      @"nbWinners" : @"nbWinners" }];

//Winner Mapping
RKEntityMapping *winnerMapping =
    [RKEntityMapping mappingForEntityForName:@"Winner"
                        inManagedObjectStore:managedObjectStore];
winnerMapping.identificationAttributes = @[@"winDate"];
[winnerMapping addAttributeMappingsFromArray:@[
                                            @"windate", @"gift", @"email", @"giftack", @"lastname", @"gender", @"firstname", @"updategiftdate"]];

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];

//Run Mapping
RKResponseDescriptor *winnerListResponseDescriptor =
[RKResponseDescriptor responseDescriptorWithMapping:winnerListMapping
                                             method:RKRequestMethodGET
                                        pathPattern:@"example.json"
                                            keyPath:nil
                                        statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)
 ];
[objectManager addResponseDescriptor:winnerListResponseDescriptor];
2015-09-16 10:13:25.018 iDol Check[26031:954937] I'm betting this is the error.

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];
数据模型:

{
"total_count": 3,
"incomplete_results": false,
"winners": [
    {
        "windate": "2015-05-26 17:11:30.0",
        "gift": "foo",
        "email": "foo",
        "giftack": "foo",
        "lastname": "foo",
        "gender": "foo",
        "firstname": "foo",
        "updategiftdate":null
    }
],
"nbWinners": 3
}
    //Winner List Mapping
RKEntityMapping *winnerListMapping =
    [RKEntityMapping mappingForEntityForName:@"WinnerList"
                        inManagedObjectStore:managedObjectStore];
winnerListMapping.identificationAttributes = @[@"nbWinners"];
[winnerListMapping addAttributeMappingsFromDictionary:@{
                                    @"total_count" : @"totalCount",
                             @"incomplete_results" : @"incompleteResults",
                                      @"nbWinners" : @"nbWinners" }];

//Winner Mapping
RKEntityMapping *winnerMapping =
    [RKEntityMapping mappingForEntityForName:@"Winner"
                        inManagedObjectStore:managedObjectStore];
winnerMapping.identificationAttributes = @[@"winDate"];
[winnerMapping addAttributeMappingsFromArray:@[
                                            @"windate", @"gift", @"email", @"giftack", @"lastname", @"gender", @"firstname", @"updategiftdate"]];

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];

//Run Mapping
RKResponseDescriptor *winnerListResponseDescriptor =
[RKResponseDescriptor responseDescriptorWithMapping:winnerListMapping
                                             method:RKRequestMethodGET
                                        pathPattern:@"example.json"
                                            keyPath:nil
                                        statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)
 ];
[objectManager addResponseDescriptor:winnerListResponseDescriptor];
2015-09-16 10:13:25.018 iDol Check[26031:954937] I'm betting this is the error.

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];

最后:

{
"total_count": 3,
"incomplete_results": false,
"winners": [
    {
        "windate": "2015-05-26 17:11:30.0",
        "gift": "foo",
        "email": "foo",
        "giftack": "foo",
        "lastname": "foo",
        "gender": "foo",
        "firstname": "foo",
        "updategiftdate":null
    }
],
"nbWinners": 3
}
    //Winner List Mapping
RKEntityMapping *winnerListMapping =
    [RKEntityMapping mappingForEntityForName:@"WinnerList"
                        inManagedObjectStore:managedObjectStore];
winnerListMapping.identificationAttributes = @[@"nbWinners"];
[winnerListMapping addAttributeMappingsFromDictionary:@{
                                    @"total_count" : @"totalCount",
                             @"incomplete_results" : @"incompleteResults",
                                      @"nbWinners" : @"nbWinners" }];

//Winner Mapping
RKEntityMapping *winnerMapping =
    [RKEntityMapping mappingForEntityForName:@"Winner"
                        inManagedObjectStore:managedObjectStore];
winnerMapping.identificationAttributes = @[@"winDate"];
[winnerMapping addAttributeMappingsFromArray:@[
                                            @"windate", @"gift", @"email", @"giftack", @"lastname", @"gender", @"firstname", @"updategiftdate"]];

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];

//Run Mapping
RKResponseDescriptor *winnerListResponseDescriptor =
[RKResponseDescriptor responseDescriptorWithMapping:winnerListMapping
                                             method:RKRequestMethodGET
                                        pathPattern:@"example.json"
                                            keyPath:nil
                                        statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)
 ];
[objectManager addResponseDescriptor:winnerListResponseDescriptor];
2015-09-16 10:13:25.018 iDol Check[26031:954937] I'm betting this is the error.

//Link Winner to WinnerList
[winnerListMapping addPropertyMapping:
    [RKRelationshipMapping relationshipMappingFromKeyPath:@"winners"
                                                toKeyPath:@"winners"
                                              withMapping:winnerMapping]];

2015-09-16 10:13:25.018偶像检查[26031:954937]我打赌这就是错误


具体来说,
toKeyPath:@“winners”
您的winners模型没有
winners
属性。

relationshipMappingFromKeyPath是WinnerList属性,而toKeyPath是json属性,不是吗?其目的是将WinnerMapping(许多Winner对象)的所有内容都设置为WinnerList对象。所以赢家不需要赢家属性你是对的。我注意到一个无法识别的选择器错误“[Winner winners]”,并假设是这样的。我猜你已经解决了这个问题,如果不是的话,我觉得赢家的地图错了。这可能导致了一个解析错误。尝试使用与上述winnerListMapping相同的字典。是的,我解决了这个问题。但这不是真正的问题;)我真的不明白为什么它不起作用,但我改变了我的方式,现在它起作用了。谢谢:)