2011-07-26 1 views

답변

4

아니요. 문제가되지 않습니다. immutableDatamutData의 데이터로 초기화됩니다.

10

이 완전히 괜찮습니다, 사실 dataWithData:의 주요 용도 중 하나에 -. 변경 가능한 객체의 불변의 사본을 만들 수 *

NSData 또한 NSCopying protocol 준수, ** 당신이 할 수 의미 대신 [mutData copy]을 사용하십시오. 차이점은 dataWithData:은 자신이 소유하지 않은 객체 (자동 렌더링 됨)를 반환하는 반면, per memory management rules, copy 인 객체를 만듭니다. dataWithData:[[mutData copy] autorelease]과 동등합니다.

따라서 결과 개체의 수명 요구 사항에 따라 dataWithData: 또는 copy 중에서 선택할 수 있습니다.


*이도 +[NSArray arrayWithArray:], 예컨대 가변 서브 클래스가 다른 클래스의 유사한 방법에 적용된다.

** 핵심 역량 가이드의 "Object Copying"도 참조하십시오.