当我使用NSURLConnection以异步方式获取数据时,某些数据会丢失

时间:2013-08-02 03:20:34

标签: cocoa delegates nsurlconnection

我处理数据并根据方法中的数据执行一些UI工作 - (void)connection:didReiveiceData(我使用委托作为回调),我发现UI工作总是没有完全完成。也许当收到数据时,UI线程仍然很忙,所以有些数据丢失了。你可能会建议我处理 - (void)connectionFinishLoading:中的数据,会导致其他问题。

2 个答案:

答案 0 :(得分:0)

您已正确建议您需要在connectionDidFinishLoading:处理收到的数据。

在此之前,您需要收集所有收到的数据(例如收集到NSMutableData实例中)。每次调用didReceiveData:时附加收到的数据(在完成之前可能会多次调用)。

答案 1 :(得分:0)

一些数据丢失的原因是关于方法-rangeOfData:options:range: 我用错了.BTW,我认为这个方法非常奇怪,该选项只接受两个值中的一个,NSDataSearchBackwards和NSDataSearchAnchored.why no" NSDataSearchForewards"或类似的东西?