Остановка / прерывание NSURLConnection - PullRequest
3 голосов
/ 04 октября 2011

Я хотел бы знать, как я могу остановить / прервать NSURLConnection, когда он выполняет запрос на загрузку.

Причина, по которой я хотел бы знать, заключается в том, что я анализирую XML с использованием NSURLConnection, а иногдаслишком много времени, чтобы получить ответ.

вот мой код, чтобы прояснить ситуацию ...

Я анализирую XML с помощью NSXMLParser и загружаю запрос с моим сообщением мыла, прежде чем язапросите его, используя NSURLConnection

conn = [[NSURLConnection alloc] initWithRequest:req delegate:self];
    if (conn) 
    {
        webData = [[NSMutableData data] retain];
    }

}

Следующий фрагмент кода является стандартным

-(void) connection:(NSURLConnection *) connection 
didReceiveResponse:(NSURLResponse *) response 
{
    [webData setLength: 0];
}


-(void) connection:(NSURLConnection *) connection 
    didReceiveData:(NSData *) data 
{
    [webData appendData:data];
}

В этом случае иногда время, необходимое для программы, чтобы добраться до соединения didReceiveData, слишком велико ипользователь должен был бы прервать эту операцию.

Так что я хотел бы знать, возможно ли это.

Я знаю, как прервать после того, как он начинает анализировать, используя [parser abort], но я незнать, как прервать NSURLConnection.

Было бы здорово, если бы кто-то мог помочь мне с этим.

1 Ответ

11 голосов
/ 04 октября 2011

Используйте [conn cancel];, чтобы остановить текущую загрузку.

...