Objective c URL响应中的指针错误
我正试图从我的应用程序上传一张照片到Facebook,当我上传并等待它完成时,一切都很顺利,但当我按下upload,然后返回到上一个Objective c URL响应中的指针错误,objective-c,xcode,facebook,httpresponse,Objective C,Xcode,Facebook,Httpresponse,我正试图从我的应用程序上传一张照片到Facebook,当我上传并等待它完成时,一切都很顺利,但当我按下upload,然后返回到上一个视图时,上传完成后,我得到一个错误 Thread 1:EXC_BAD_ACCESS(code=2, address=0x9) 在守则中: - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { _responseText = [[
视图时,上传完成后,我得到一个错误
Thread 1:EXC_BAD_ACCESS(code=2, address=0x9)
在守则中:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
_responseText = [[NSMutableData alloc] init];
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
if ([_delegate respondsToSelector:
@selector(request:didReceiveResponse:)]) {
[_delegate request:self didReceiveResponse:httpResponse];
}
}
如果
,它将在上断开。我不知道该怎么解决这个问题
多谢各位
编辑:
在我返回上一个视图之前,会调用此函数:
-(IBAction)shareToFacefook{
[[self appDelegate] facebooking]; // checke that the user is loged in
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
labeledImage, @"source",
[[MyStrings myLocalStrings] getBackLocalstring:FB_IMG_POST_TITLE],@"message",
nil];
[[[self appDelegate] getFacebookVar] requestWithGraphPath:[NSString stringWithFormat: @"/me/photos?access_token=%@", self.appDelegate.getFacebookVar.accessToken] andParams:params andHttpMethod:@"POST" andDelegate:self];
}
似乎是内存管理问题EXC_BAD_ACCESS
通常表示正在访问的内存地址不再有效
您是否使用retain
在收到委托时增加委托的参考计数?如果没有,那么它可能已经被垃圾收集了。您应该使用retain
或在收到代理时复制该代理。您可以尝试以下方法:
1.查看Facebook.m
2.找到“解除锁定”
3.您将看到以下代码:
for (FBRequest* _request in _requests) {
[_request removeObserver:self forKeyPath:requestFinishedKeyPath];
}
换成
for (FBRequest* _request in _requests) {
_request.delegate = nil;
[_request removeObserver:self forKeyPath:requestFinishedKeyPath];
}
我会在哪里做?此方法是nsurl
委托的一部分。这一切都是在后台进行的。。。我所做的是`[[self-appDelegate]getFacebookVar]requestWithGraphPath:[NSString-stringWithFormat:@”/me/photos?访问令牌=%@,self.appDelegate.getFacebookVar.accessToken]和参数:params和httpMethod:@“POST”和委托:self];`。很抱歉,太乱了。您应该将该代码添加到问题中-注释中的格式使其难以阅读:/