我想在我的应用程序上使用RestKit,并且当前在github上使用master作为git子模块。整个事情都安装并运行。然而,当我试图从我的Rails应用程序获取JSON数据,我就RKObjectLoader.m混得RestKit一个BAD_EXC_ACCESS,更具体地说,管线365试图在iOS上使用Restkit - XCode
if ([_delegate respondsToSelector:@selector(request:didLoadResponse:)]) {
[_delegate request:self didLoadResponse:_response];
}
不知道这到底是怎么回事,但我应该承担这是Restkit的问题?
这里是我想要做的事:
-(id) init {
self = [super init];
if (self) {
RKObjectMapping* patientMapping = [RKObjectMapping mappingForClass:[Patient class]];
[patientMapping mapKeyPath:@"id" toAttribute:@"identifier"];
[patientMapping mapKeyPath:@"first_name" toAttribute:@"first_name"];
[patientMapping mapKeyPath:@"middle_initial" toAttribute:@"middle_initial"];
[patientMapping mapKeyPath:@"last_name" toAttribute:@"last_name"];
[patientMapping mapKeyPath:@"email" toAttribute:@"email"];
[patientMapping mapKeyPath:@"password_hint_question" toAttribute:@"password_hint_question"];
[patientMapping mapKeyPath:@"password_hint_answer" toAttribute:@"password_hint_answer"];
[[RKObjectManager sharedManager].mappingProvider setMapping:patientMapping forKeyPath:@"patients"];
}
return self;
}
- (void)loadAll {
[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/ios_patient.json" delegate:self];
}
所以基本上我实例化这个类并调用LOADALL。我的ios_patient.json返回以下JSON代码:
{"patients": [{"id": 1, "first_name": "John", "last_name": "Appleseed", "email": "[email protected]"}]}
任何帮助将不胜感激。
您可以启用NSZombieEnabled以了解有关崩溃的更多信息,或者使用带进程ID的malloc_history。 – 2012-03-23 21:13:42
Objective-C变量通常以骆驼命名,因为它的价值。所以你应该仔细检查你的“first_name”变量是否定义为“NSString * firstName”,并且你的映射是“[patientMapping mapKeyPath:@”firstName“toAttribute:@”first_name“]; – 2012-03-24 03:19:40
另外,1.你确定你没有发布你的代表吗? 2.你在使用ARC吗? 3.你是否实现了RKObjectLoader委托方法(request:didLoadResponse :)? – 2012-03-24 03:22:03