我无法摆脱RestKit中的EXC_BAD_ACCESS错误。我怀疑它是因为我有一个ARC项目,并且可能会多次发布请求或响应变量,但我花了好几个小时就不确定了。
我的问题听起来与this post类似,但我不确定代码中的哪个位置会进行类似的更改。
我的实现文件有一个简单的方法将新对象发布到服务器。所有映射逻辑都在以下NSObject的实现文件中:
-(void) createMeeting
{
NSString* baseUrl = @"https://myapp.appspot.com/api/meeting/?format=json&username=testuser@test.com&api_key=f8s9df8as8df9s8d97";
RKObjectManager* rkoManager = [RKObjectManager objectManagerWithBaseURLString:baseUrl]; [NewMeetingRK initMap:rkoManager];
NewMeetingRK *newmtg = [NewMeetingRK alloc];
newmtg.leader = self.leaderEmail.text;
newmtg.startdate = [sqliteformatter stringFromDate:bdate];
newmtg.enddate = [sqliteformatter stringFromDate:edate];
[[RKObjectManager sharedManager] postObject:newmtg delegate:self];
它成功启动requestDidStartLoad:(RKRequest *)请求 然而它在下面的倒数第二行的RKResponse.m中崩溃(if([[_request delegate] respondsToSelector:...带有EXC_BAD_ACCESS错误。
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSHTTPURLResponse *)response {
RKResponseIgnoreDelegateIfCancelled();
RKLogDebug(@"NSHTTPURLResponse Status Code: %ld", (long) [response statusCode]);
RKLogDebug(@"Headers: %@", [response allHeaderFields]);
_httpURLResponse = [response retain];
[_request invalidateTimeoutTimer];
if ([[_request delegate] respondsToSelector:@selector(request:didReceiveResponse:)]) {
[[_request delegate] request:_request didReceiveResponse:self];
}
}
有什么想法可以帮到我吗?非常感谢。
答案 0 :(得分:1)
当消息发送到已释放的对象时,会发生EXC_BAD_ACCESS。 你应该注意_request委托对象。 NSZombieEnabled断点也可能对你有所帮助。 How to enable zombie objects