2013-07-25 2 views
1

NSJSONSerializationNSString 대신 JSON 데이터를 나타내는 NSData을 사용해야합니다.왜 NSJSONSerialization은 NSString 대신 NSData를 사용합니까?

NSString 내가 대신 NSStringNSData를 분석 격려하는 것이 더 효율적이 될 것이라고 상상

+3

'NSURLConnection'에서 데이터를 검색하는 대부분의 메서드는 NSData (NSData)를 반환하므로 검색 할 데이터 정렬에 대해 불가지론 받기 때문에 NSArray 또는 NSDictionary로 변환하는 방법은 논리적입니다. 'NSData'를 취할 것입니다. – Rob

답변

4

... 나에게 더 명백한 선택처럼 보인다. 예를 들어 서버에서 응답을 파싱하는 경우 서버에서 반환 된 원시 바이트 버퍼를 나타내는 NSData 개체를 받게됩니다. NSJSONSerialization에는 NSInputStream을 직접 구문 분석하는 메서드가 포함되어 있습니다. NSString으로 모든 것을 구문 분석하는 것은 그저 던져 버릴 중간 개체 일 것이므로 낭비 일 것입니다. 대신 NSJSONSerializationNSData 개체의 바이트를 직접 구문 분석하고 결과 데이터 구조의 해당 키와 값에 대해 NSStrings 만 생성하십시오.