【问题标题】:Stopping/ aborting a NSURLConnection停止/中止 NSURLConnection
【发布时间】:2025-12-09 23:25:01
【问题描述】:

我想知道如何在 NSURLConnection 执行加载请求时停止/中止它。

我想知道的原因是,我正在使用 NSURLConnection 解析 XML,有时获取响应所需的时间太长。

这是我的代码,可以让事情更清楚......

我正在使用 NSXMLParser 解析 XML,并在使用 NSURLConnection 请求它之前使用我的肥皂消息加载 req

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。

如果有人能帮我解决这个问题,那就太好了。

【问题讨论】:

    标签: ios xml-parsing nsurlconnection


    【解决方案1】:

    使用[conn cancel]; 停止正在进行的下载。

    【讨论】: