NSURLConnection,NSMutableData&可可错误3840

时间:2013-05-16 00:46:17

标签: ios cocoa-touch nsurlconnection nsjsonserialization nsmutabledata

我有一个标准的异步NSURLConnection操作和从Web服务加载json的NSMutableData。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse       *)response
{
     _responseData = [[NSMutableData alloc] init];
}

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


- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
   NSError *error;
   NSDictionary *response = [NSJSONSerialization JSONObjectWithData:_responseData                                                           
                                                            options:NSJSONReadingAllowFragments
                                                              error:&error];

    _responseJson = response;

}

大部分时间它完美无缺,但是对于超过未确定大小的json有效载荷,我得到Cocoa Error 3840(我已经验证了json的有效性)。有趣的是,当我在

中NSLog原始数据时
-connectionDidFinishLoading: 

它不会立即记录所有内容,当方法中的逻辑继续执行时,原始数据会以交错方式继续加载到控制台中。

 -stringFromData:encoding:

在控制台记录交错输出时也返回nil。 实际有效载荷仅为〜0.25mb。我尝试了[[NSMutableData alloc] initWithCapacity:],结果相同。

0 个答案:

没有答案