ASIHTTPREQUEST xCode - сбой при настройке делегата - PullRequest
2 голосов
/ 05 января 2012

Во-первых, приложение работало нормально до того, как запрос был во ViewController. Теперь я переместил его в его собственный файл классов, чтобы он соответствовал модели MVC, но происходит сбой, когда я инициирую запрос. Я отладил и сузил его до строки, где я устанавливаю делегата как себя. Я отредактировал файл класса .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 Ответ

3 голосов
/ 05 января 2012

Я так и думал.Вы видите, как справа от зеленой горизонтальной полосы написано EXC_BAD_ACCESS.По сути, вы передаете себя в качестве делегата, и этот объект (сам) становится Нераспределенным, прежде чем его можно будет проверить на наличие селектора.Другими словами, где бы вы ни создавали экземпляр этого класса, вам необходимо строго ссылаться на него, чтобы он не был освобожден.

Дайте мне знать, если это не достаточно ясно.

...