ASIHTTPREQUEST xCode - 设置委托时崩溃

时间:2012-01-05 00:55:07

标签: ios xcode delegates asihttprequest

首先,在请求进入ViewController之前,应用程序运行正常。我现在已将它移动到它自己的类文件以符合MVC模型,但在我发起请求时崩溃。我已经调试并将其缩小到我将委托设置为self的行。我编辑了类.h文件以符合'ASIHTTPRequestDelegate',但仍然没有运气。运行暂停时,我没有收到编译器错误,但是当调用该方法时,它确实指向了我的代码行:

if (delegate && [delegate respondsToSelector:didStartSelector]) {

以下代码是我用来发起请求的代码,这是从ViewController调用的。有什么想法吗?

-(void) authenticateLoginWithURLString:(NSString *)address Username:(NSString*)username Password:(NSString*)password{
    //LoginViewController *loginVC = [LoginViewController new];
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:address]];
    [request setPostValue:username forKey:@"u"];
    [request setPostValue:password forKey:@"pw"];
    [request setDelegate:self];
    [request startAsynchronous];
}

enter image description here

1 个答案:

答案 0 :(得分:3)

这就是我的想法。你看到绿色水平条的右边是EXC_BAD_ACCESS。基本上你将self作为委托传递,并且该对象(self)在被验证为具有选择器之前被取消分配。换句话说,无论您在何处创建该类的实例,都需要对其进行强引用,以免被解除分配。

如果不够明确,请告诉我。