copy: 값 자체가 아닌 들어오는 값의 복사본을 유지하려는 경우, 즉 원래 개체를 다른 위치에 완전히 할당하고 메모리 영역을 다시 로드할 때 사용됩니다. 할당: 간단한 직접 할당은 두 개체가 동일한 메모리 영역을 가리키면 한 위치가 변경되면 다른 개체도 변경된다는 것과 같습니다. 보유: 이전 객체를 해제하고 이전 객체의 값을 입력 객체에 할당한 다음 입력 객체의 인덱스 수를 1로 늘립니다.
위의 의미는 무엇인가요?
Copy는 실제로 동일한 객체가 생성되었지만 유지는 그렇지 않습니다.
예를 들어 NSString 객체의 주소는 0×1111이고 내용은 @"ABC"입니다.
After 다른 NSString에 복사하면 주소는 0×2222, 내용은 동일하고 새 객체 유지는 1이며 이전 객체는 변경되지 않았습니다.
다른 NSString에 유지한 후 주소는 동일합니다( 포인터 생성, 포인터 복사), 내용은 물론 동일합니다. 객체의 유지 값은 +1입니다.
할당 주소는 여전히 0x1111이고 내용은 여전히 "ABC"입니다.
즉, keep은 포인터 복사본이고 copy는 콘텐츠 복사본입니다.
강함, 약함은 속성을 수정하는 데 사용됩니다.
strong은 강력한 참조의 속성을 수정하는 데 사용됩니다.
@property (strong) SomeClass * aObject
원본에 해당합니다. p>@ 속성(유지) SomeClass * aObject; 및 @property(복사) SomeClass * aObject;
weak는 약한 참조의 속성을 수정하는 데 사용됩니다. ) SomeClass * aObject;
원본에 해당
@property (할당) SomeClass * aObject;
주식에서 p>cp0 의 개념은 무엇입니까