2012-04-10 164 views
0
{"avatar_30":"url", 
"id": 81, 
"name": "\u674e\u5f3a" 
} 

我有我的配置文件类。RestKit对象映射没有映射我的对象

@interface Profile: NSObject{ 
    NSNumber* _identifier; 
    NSString* _name; 
    NSString* _avatar_30; 
} 
@property (nonatomic, retain) NSNumber* identifier; 
@property (nonatomic, retain) NSString* name; 
@property (nonatomic, retain) NSString* avatar_30; 
@end 

@implementation Profile 

@synthesize identifier=_identifier; 
@synthesize name=_name; 
@synthesize avatar_30 = _avatar_30; 

然后,我建我的经理,并获得Profile类这样的映射:在AppDelegate.m

UIResponder
RKObjectMapping* profileMapping = [RKObjectMapping mappingForClass:[Profile class]]; 
    [profileMapping mapKeyPath:@"id" toAttribute:@"identifier"]; 
    [profileMapping mapKeyPath:@"name" toAttribute:@"name"]; 
    [profileMapping mapKeyPath:@"avatar_30" toAttribute:@"avatar_30"]; 

    RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:_baseURL]; 
    //[manager.mappingProvider setMapping:profileMapping forKeyPath:@"%@"]; 
    [manager loadObjectsAtResourcePath:@"/api/v2/userinfo/100/" objectMapping:profileMapping delegate:self]; 

我可以得到杰森: 在AppDelegate.h @interface AppDelegate中正确,但是配置文件无法映射。

Got a JSON response back from GET! 
2012-04-10 17:47:33.480 Base_01[5714:14603] D restkit.network:RKObjectLoader.m:198 Found  directly configured object mapping, creating temporary mapping provider for keyPath '%@' 
2012-04-10 17:47:33.482 Base_01[5714:fb03] Load collection of Profiles: (
) 

对这个问题有什么想法吗?谢谢你的帮助!

+0

对于您的profileMapping测试添加以下行:[[RKObjectManager sharedManager] .mappingProvider setMapping:profileMapping forKeyPath:@“profile”]; – Beber 2012-04-10 13:42:47

回答

0

在该方法

- (void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects{ 

在那里的 “物” 阵列中的任何对象?

这应该包含您的所有配置文件对象。