구문 분석을 위해 API에서 JSON 파일을 검색하려고합니다. NSURLConnection을 사용하여 데이터를 가져 왔습니다. 대리인이 응답을 받고 MIME 유형이 application/json
임을 확인합니다.NSURLConnection에서 NSMutableData 객체에 데이터를 추가 할 수 없습니다.
-(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
으로 기록됩니다. 데이터가 추가되면 분명히 잘못됩니다.
receivedData
은 NSMutableData
이며, 해당 개체를 포함하는 개체를 초기화 할 때 self.receivedData = [[NSMutableData alloc] init]
을 사용합니다. 데이터를 추가 할 때 실수 한 점이 있습니까?
당신이'self.receivedData'를 초기화했다하더라도 이것은'connection : didReceiveData :'메소드에서'nil'과 매우 비슷하게 들립니다. – Mac
@Mac'self.receivedData'를 검사했는데 실제로는'nil'이었습니다. 실수로 속성을 'weak'로 설정 한 것으로 보입니다. 초기화 된 메서드가 끝나고 로컬 포인터가 범위를 벗어날 때마다 해제되고있는 것으로 보입니다. –
실제로 그렇게 할 것입니다. 다행 이군. 덧붙여 말하자면, 당신이 새로운 환영을받는 것처럼 보이기 때문에, 당신은 자신의 문제를 해결 한 사람들이 답을 게시하도록 격려한다는 것을 알지 못할 수도 있습니다. 이것은 같은 문제에 부딪 치는 다른 사람들에게 유용 할 수 있습니다. 신용을 얻을 수 있기를 원하는만큼, 근본 원인을 스스로 발견 했으므로 답변에 세부 정보를 게시 할 수 있다면 좋을 것입니다. – Mac