将NSURLConnection中的数据附加到NSMutableData对象失败

时间:2012-06-15 02:08:29

标签: objective-c ios ios5 nsdata

我正在尝试从API检索JSON文件以进行解析。我正在使用NSURLConnection来获取数据。它的委托收到响应并确认MIME类型为application/json。但是,当委托调用此方法时:

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
    NSLog(@"Received route data");
    [self.receivedData appendData:data];
    NSLog(@"Data length: %d", data.length);
    NSLog(@"Data length in property: %d", self.receivedData.length);
}

它将data的长度记录为某个整数。但是,它将receivedData的长度记录为0.如果有数据附加到它,这显然是错误的。

receivedData属于NSMutableData类型,并且在初始化包含它的对象时使用self.receivedData = [[NSMutableData alloc] init]。我在添加数据时是否犯了错误?

1 个答案:

答案 0 :(得分:0)

显然,我忘了将self.receivedData设置为strong。因此,只要初始化它的方法超出范围并导致它在其他地方返回nil,它就会被释放。