Этого можно добиться, используя два флага (BOOL
переменные). Один флаг будет отслеживать активность соединения (независимо от того, выполняется ли соединение или имеет finishedLoading
).
Итак, для связи (BOOL isConnectionActive
)
установить isConnectionActive = YES
в viewDidLoad
и установите его isConnectionActive = NO
в connectionDidFinishLoading
или connectionDidFailWithError
методах делегата.
и проверьте
if(isConnectionActive)
{
if(con != nil)
{
[con cancel];
}
isConnectionActive=NO;
}
in viewWillApear
: метод.
аналогичное, что вы можете сделать для xmlParsing. вы установите isParsingCompleted=NO
- (void)parserDidStartDocument:(NSXMLParser *)parser
метод.
и isParsingCompleted=YES
- (void)parserDidEndDocument:(NSXMLParser *)parser;
- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError;
методов, и вы будете использовать
if(!isParsingCompleted)
{
if (parser!= nil)
{
[parser abortParsing];
}
isParsingCompleted=YES;
}
в методе viewWillApear:
. [Для этого вам понадобится ссылка на уровень класса для парсера.]
Спасибо