보관 및 복사의 차이점은 무엇입니까? 참조 카운팅에서 그 중요성은 무엇입니까?보존과 복사의 차이점은 무엇입니까?
개체가 alloc/retain을 사용하여 할당되면 참조 횟수가 하나 증가한다는 것을 알고 있습니다. 복사 사용 방법은 어떻습니까?
또 다른 질문은
@property (nonatomic, retain)와 @property (nonatomic, copy)의 차이점입니까?
보관 및 복사의 차이점은 무엇입니까? 참조 카운팅에서 그 중요성은 무엇입니까?보존과 복사의 차이점은 무엇입니까?
개체가 alloc/retain을 사용하여 할당되면 참조 횟수가 하나 증가한다는 것을 알고 있습니다. 복사 사용 방법은 어떻습니까?
또 다른 질문은
@property (nonatomic, retain)와 @property (nonatomic, copy)의 차이점입니까?
을 만들 수 있습니다. 먼저 보존 및 복사의 차이점은 무엇입니까? 참조 카운팅에서 그 중요성은 무엇입니까?
retain - "할당시 객체에 대해 retain을 호출하도록 지정합니다. ... 이전 값에는 릴리스 메시지가 전송됩니다." 그래서 당신은 NSString 인스턴스를 할당하는 것을 상상할 수 있습니다 (이것은 객체이고 당신이 유지하기를 원할 것입니다). 따라서 보유 수는 1 씩 증가합니다.
copy - "개체 복사본을 할당에 사용하도록 지정합니다. ... 이전 값에는 릴리스 메시지가 전송됩니다." 기본적으로 보유와 동일하지만 -reopy가 아닌 -copy를 보냅니다. 내가 정확하게 기억한다면 카운트도 1 올라갈거야.
이제 확인해 보겠습니다.
속성 속성은 컴파일러에게 getter와 setter를 생성하는 방법을 알려주는 특별한 키워드입니다. 여기서는 두 가지 속성 속성을 지정합니다. 컴파일러에게 멀티 스레딩에 대해 걱정하지 말라고 말하며, retain은 인스턴스 변수를 설정하기 전에 전달 된 변수를 유지하도록 컴파일러에 지시합니다.
다른 경우에는 retain 대신 "assign"속성을 사용하여 컴파일러에게 알리지 않을 수도 있습니다! 전달 된 변수를 유지합니다. 또는 설정하기 전에 전달 된 변수의 복사본을 만드는 "copy"속성 속성 일 수 있습니다.
도움이 되었기를 바랍니다. 나는 당신을 도울 수있는 또 다른 게시물을 여기에서 발견했다.
Objective C - Assign, Copy, Retain
건배! 호세 일반적
말해서 copy
원래의 객체와 동일한 값을 갖는 새로운 오브젝트를 생성하고, 방법 (1 행의 새로 생성 한 오브젝트의 참조 카운트를 설정하고, 원래의 오브젝트의 참조 카운트는 영향을받지 않았다). 그러나
, copy
그냥 당신이 대답 중 하나를 인정하지 않은 1
에 의해 원본 객체의 참조 카운트를 increate 불변의 객체에 대한
retain
에 해당합니다. 하나를 선택해야합니다. :) – Jiraheta