Objective c Restkit对象映射不工作

Objective c Restkit对象映射不工作,objective-c,ios,ios6,restkit,xcode4.5,Objective C,Ios,Ios6,Restkit,Xcode4.5,我正在努力学习restkit,现在正在研究对象映射。以下是我试图接收和处理的JSON(由ASP.NET MVC Web API生成): 要映射到的对象是(SBGame): 和SBS分数: @interface SBScore : NSObject @property (nonatomic, copy) NSNumber* Hill; @property (nonatomic, copy) NSNumber* LVille; @end 最后但并非最不重要的是对象映射 RKObjectMappin

我正在努力学习restkit,现在正在研究对象映射。以下是我试图接收和处理的JSON(由ASP.NET MVC Web API生成):

要映射到的对象是(SBGame):

和SBS分数:

@interface SBScore : NSObject
@property (nonatomic, copy) NSNumber* Hill;
@property (nonatomic, copy) NSNumber* LVille;
@end
最后但并非最不重要的是对象映射

RKObjectMapping *ScoreMapping = [RKObjectMapping mappingForClass:[SBScore class]];
[ScoreMapping addAttributeMappingsFromArray:@[@"Hill", @"LVille"]];


RKObjectMapping *GameMapping = [RKObjectMapping mappingForClass:[SBGame class]];
[GameMapping addAttributeMappingsFromDictionary:@{
    @"Id" : @"Id",
    @"Title" : @"Title",
    @"Location" : @"Location",
    @"TimeStart" : @"TimeStart",
    @"TimeEnd" : @"TimeEnd",
    @"Gender" : @"Gender",
    @"State" : @"State",
 }];

[GameMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"score" toKeyPath:@"score" withMapping:ScoreMapping]];


RKResponseDescriptor *decp = [RKResponseDescriptor responseDescriptorWithMapping:GameMapping pathPattern:@"/Games" keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[objectManager addResponseDescriptor:decp];
毕竟我收到的错误是

2012-12-29 16:49:19.553 Scoreboard[3004:c07] Failure with error Error Domain=org.restkit.RestKit.ErrorDomain Code=1001 
"Unable to find any mappings for the given content" UserInfo=0x75c1460 {DetailedErrors=(
), NSLocalizedDescription=Unable to find any mappings for the given content, keyPath=null}

我对RestKit非常陌生,我已经看过了,但它仍然不起作用。任何想法都非常感谢

我明白了。当我创建默认实例时,我创建了基本URL
www.example.com/api
,然后对
/Games

我应该做的是让基本URL
www.example.com
将路径模式设置为
/api/Games
,并在
/api/Games

因此,从显示的代码来看

RKResponseDescriptor *decp 
= [RKResponseDescriptor responseDescriptorWithMapping:GameMapping
                                          pathPattern:@"/Games" 
                                              keyPath:nil
                                          statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
更改为

RKResponseDescriptor *decp 
= [RKResponseDescriptor responseDescriptorWithMapping:GameMapping
                                          pathPattern:@"/api/Games"
                                              keyPath:nil
                                          statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

我想出来了。当我创建默认实例时,我创建了基本URL
www.example.com/api
,然后对
/Games

我应该做的是让基本URL
www.example.com
将路径模式设置为
/api/Games
,并在
/api/Games

因此,从显示的代码来看

RKResponseDescriptor *decp 
= [RKResponseDescriptor responseDescriptorWithMapping:GameMapping
                                          pathPattern:@"/Games" 
                                              keyPath:nil
                                          statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
更改为

RKResponseDescriptor *decp 
= [RKResponseDescriptor responseDescriptorWithMapping:GameMapping
                                          pathPattern:@"/api/Games"
                                              keyPath:nil
                                          statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];