从委托到发件人的回调导致EXC_BAD_ACCESS错误

时间:2012-03-21 18:04:27

标签: objective-c ios exc-bad-access

我正在开发一个使用NSURLConnection的应用程序。我希望动态加载内容,因此我必须实现许多代理才能实现。 为了减少委托的数量,我创建了一个类(AbstractURLConnection),它是< NSURLConnectionDelegate取代。

我目前正在使用登录视图(以及它的控制器)来测试NSURLConnectionDelegate类的行为。这是我的AbstractURLConnection类: AbstractURLConnection

在LoginViewController中,我执行以下操作:

@interface LoginViewController : UIViewController {
    AbstractNSUrlConnection *au;
}

@property (strong, nonatomic) AbstractNSUrlConnection <NSURLConnectionDelegate> *au;

- (void) handleResponse:(NSMutableData *) data;

并在.m文件中:

- (IBAction)login:(id)sender {
    NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://myapp.dev:8887/users/login"]];
    au = [[AbstractNSUrlConnection alloc] initWithRequest:req sender:self withSelector:@"handleResponse:" andRequestMethod:[AbstractNSUrlConnection MethodTypePOST]];
}

- (void) handleResponse:(NSMutableData *) data{
     NSLog(@"called back");
}

当我运行应用程序时,我的LoginView会弹出,当我按下登录按钮时,会调用登录函数。建立连接并调用回调方法(handleResponse)。

但是,当我第二次按下登录按钮时,我的 handleResponse 方法出现了EXC_BAD_ACCESS错误。

我想我再次按下按钮时会清理发件人,但我不知道如何解决这个问题。知道可能导致这种情况的原因吗?

提前致谢,

的Jordy

0 个答案:

没有答案