2010-03-13 4 views
1

initWithData가 데이터 객체를 문자열로 올바르게 변환하지 않습니다. 데이터 객체의 길이를 확인할 때 값이 있습니다.NSMutableData를 NSString으로 변환하는 문제

NSMutableData* receivedData =[[NSMutableData data] retain]; 

NSString* json_string = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding]; 

문자열을 잘못 작성하고 있습니까?

+0

receivedData가 손상되지 않았습니까? –

+0

어떻게 손상되었는지 확인할 수 있습니까? 부패의 원인은 무엇입니까? –

+0

데이터가 실제로 유효한 UTF8 문자열입니까? 그렇지 않으면 실패합니다. 또한 객체를 소유하고 싶다면 [[Object convenience] retain] 대신 [[Obj alloc] init]을 사용하는 것이 좋습니다. 불필요한 autorelease를 수행 할 필요가 없습니다 –

답변

0

NSURLConnection 대리자 메서드를 완전히 작성하지 않았습니다. 이것은 내 데이터가 구축되는 곳입니다.

4

게시 된 것처럼 코드는 의미가 없습니다. 비어있는 불변의 데이터를 생성하고 나서 상기 빈 데이터로부터 문자열을 생성하려고합니다.

* 데이터 객체의 길이를 확인할 때 값이 * 평균입니까? 표시하지 않는 코드가 더 많다는 뜻입니까? 변경 가능한 데이터를 몇 바이트로 채우는 것이 있습니까?

또한 수신 된 데이터가 실제로 UTF-8 문자열로 인코딩되지 않으면 변환이 실패합니다. 손실 변환을 허용하는 NSString에는 여러 가지 메소드가 있습니다. 그 중 하나를 시도하십시오.

관련 문제