Вы освобождаете объект ASIHTTPRequest
, когда выходите из текущего представления?Я предполагаю, что методы делегата вызываются после того, как ваш контроллер представления был освобожден.
-
@ Саймон прав, что вам нужно установить делегат равным nil.Я бы сделал следующее:
- Создайте свойство
ASIHTTPRequest
в своем классе и установите это свойство в своем методе ProcessXML
.Это упрощает управление памятью и гарантирует, что объект запроса будет оставаться там, где он вам нужен. - В обоих методах
dealloc
и requestFinished
установите делегат запроса равным nil и установите self.request = nil;
По крайней мере, вы должны установить делегат равным nil в вашем методе requestFinished
, но вы должны помнить, чтобы остановить выполнение вашего запроса, если вы отойдете от этого контроллера представления до его возврата,следовательно, в методе dealloc
также устанавливается значение nil.