은 가정하자 내가 가진 같은 클래스 : copyWithZone의 정의에서copyWithZone :에서 모든 allocs 또는 반환 된 객체에 대해 zone을 사용해야합니까?
@interface SomeClass : NSObject<NSCopying> {
SomeOtherClass *obj;
}
:, 내가 이렇게 :
SomeClass *someCopy = [[SomeClass allocWithZone:zone] init];
그래서 내 질문입니다, 내가 OBJ의 복사본을 만들려면, 이 중 어느 것이 정확하고/권장 되는가?
옵션 A :
objCopy = [obj copyWithZone:zone];
옵션 B :
objCopy = [obj copy];
또는 옵션 C : objCopy = [obj copyWithZone : [self zone]]; 복사본이 호출자와 동일한 영역에 할당됩니다. 하지만 처음부터 영역을 사용한다면 다시 그렇습니다. – adib