Я разрабатываю приложение, которое часто использует NSURLConnection. Я хочу, чтобы контент загружался динамически, поэтому мне нужно реализовать много делегатов, чтобы это работало.
Чтобы уменьшить количество делегатов, я создал класс (AbstractURLConnection), который является .
В настоящее время я использую представление входа в систему (и его контроллер), чтобы проверить поведение класса 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, и когда я нажимаю кнопку входа в систему, вызывается функция login . Соединение установлено, и также вызывается метод обратного вызова (handleResponse).
Однако, когда я нажимаю кнопку входа во второй раз, я получаю ошибку EXC_BAD_ACCESS в методе handleResponse .
Я полагаю, что отправитель очищается при повторном нажатии кнопки, но я не знаю, как это решить. Есть идеи, что может вызвать это?
Заранее спасибо,
Jordy