2014-02-19 1 views
0

언제 NSData를 사용해야하는지 혼란 스럽습니다. 나는 (난 그냥 대신 연습 여기를 드롭 박스를 사용하고 있습니다.) 서버에 저장된 일부 데이터를 얻을하려고 해요 내가 지금까지했던바이트 버퍼 NSData

  • 2 개 배열, 하나를 저장하는 일부 페이지 목록을 만들어 무엇 문자열 객체를 저장하고, 다른 하나는 오디오 데이터에 대한 공용 URL의 객체를 저장합니다. 나는 PLIST에서있는 NSString을 만들 때

  • , 나는있는 NSData 객체를

  • 을 사용하지 않은, 내가 같은 프로젝트 폴더에 저장된 데이터와 NSAudio 플레이어를 만들 때있는 NSData는
  • 객체 사용하지 않은 서버에 저장된 데이터로 NSAudio Player를 만들었을 때 NSData를 사용했습니다.

언제 NSData 객체를 올바르게 사용할 지 모르겠습니다. 내가 응용 프로그램 문서를 확인했지만 "데이터 객체가 간단하게 보임 할당 된 버퍼"할당 된 버퍼는 무엇입니까? 감사합니다.

답변

3

NSData는 바이트 배열의 래퍼입니다. 바이트 배열을 필요로하는 곳이면 어디서든 바이트 배열을 사용하고 수동으로 (데이터 액세스 및 조작) 수동으로 수행하거나 NSData (또는 바이트를 수정해야하는 경우 NSMutableData)으로 래핑하고 Apple에서 제공하는 방법을 사용할 수 있습니다 데이터에 쉽게 액세스하거나 수정하는 기능.

할당 된 버퍼는 NSData 래퍼 내에 저장된 바이트 배열입니다. 중간에 1 바이트를 수정하려는 오디오 객체가 디스크에 있다고 가정 해보십시오. 이 데이터를 디스크에서 오디오 요소로로드 할 수는 있지만 수정할 수는 없습니다. 디스크의 바이트 값을 디스크에서 NSMutableData으로로드하면 바이트에 직접 액세스 할 수 있으므로 NSMutableData 클래스에 제공된 간단한 방법을 사용하여 원하는대로 수정 한 다음 오디오 요소를 디스크에 다시 저장합니다 (또는 해당 데이터를 직접 오디오 요소).

NSData 객체를 가장 잘 사용하는 것은 다른 클래스와 마찬가지로 필요할 때만 사용할 수 있습니다. 앱을 실행하기위한 기능이 특별히 필요한 경우 사용하십시오. 그렇지 않으면 필요없는 추가 된 단계 일 것입니다 (예 : 디스크상의 데이터 -> 오디오 요소 대 데이터 - 디스크 -> NSData -> 오디오 요소).

+0

좋은 답변입니다. (투표) –

+0

@DuncanC 감사합니다. – Putz1103

+0

@ Putz1103 : 정말 고마워요. :) – Tosh