2012-05-13 2 views
0

У меня есть следующая проблема. Я создаю один вид, когда затрагивается одна кнопка. когда представление создано и загружено, я делаю 2 запроса с ASIFormDataRequest одним запросом для загрузки одного изображения, а другой для получения некоторого текста.Делегирование сбоя, когда я освобождаю представление, потому что не найдено

Головная боль становится, когда пользователь в загруженном представлении выбирает обратно, потому что если нажата кнопка назад, вид удаляется из вида superiew, но crashh, если обратный вызов одного запроса подходит, и вид не существует, как я могу сделать это, например, отменять запрос или как я могу это исправить.

Грохота находится в следующей строке кода

Класс: ASIHTTPRequest.m

BOOL dataWillBeHandledExternally = NO; 
    **if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {** 
     dataWillBeHandledExternally = YES; 
    } 

С: Темой 6: EXC_BAD_ACCES (код = 1, адрес = 0x30047dbc)

Пожалуйста, ад, который преследовал меня.

ответ

2

Вы хотите, чтобы убедиться, что вы отменить все ожидающие ASIHTTPRequest, когда вы вставляете свой вид: От: http://allseeing-i.com/ASIHTTPRequest/How-to-use#cancelling_an_asychronous_request

// Cancels an asynchronous request, clearing all delegates and blocks first 
[request clearDelegatesAndCancel]; 
+0

Хогй Бог очень благодарен @ckhan, действительно спасибо, что решила мою проблему. – NTTake

1

Вы можете использовать попробовать поймать его. ниже, как вы можете сделать в ASIHTTPRequest.m

@try { 
     if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) { 
      dataWillBeHandledExternally = YES; 
     } 
    } 
    @catch (NSException *exception) { 
     dataWillBeHandledExternally = NO; 
    } 
Смежные вопросы