RestKit对象映射没有映射我的对象
问题描述:
{"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
UIResponderRKObjectMapping* 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: (
)
对这个问题有什么想法吗?谢谢你的帮助!
答
在该方法
- (void)objectLoader:(RKObjectLoader *)objectLoader didLoadObjects:(NSArray *)objects{
在那里的 “物” 阵列中的任何对象?
这应该包含您的所有配置文件对象。
对于您的profileMapping测试添加以下行:[[RKObjectManager sharedManager] .mappingProvider setMapping:profileMapping forKeyPath:@“profile”]; – Beber 2012-04-10 13:42:47