목표 - C 객체에 대한 포인터가 PropertyType
입니다 가정, 당신은 항상 이런 식으로, 어떤 검사와 세터를 작성했습니다 수 :
- (void)setProperty:(PropertyType)newValue {
[newValue retain];
PropertyType oldValue = _property;
_property = newValue;
[oldValue release];
}
ARC는 정확히 같은 강력한 할당을 구현합니다. 인용 부호 Objective-C Automatic Reference Counting from the clang documentation :
__strong
개체의 경우 새 pointee가 먼저 유지됩니다. 둘째로, lvalue는 원시적 인 의미론으로로드됩니다. 셋째, 새로운 pointee는 원시 의미론을 사용하여 lvalue에 저장됩니다. 마지막으로, 뾰족한 앞머리가 풀립니다. 이것은 원자 적으로 수행되지 않습니다. 동시로드 및 저장에 대비하여 외부 동기화를 사용해야합니다.
은 따라서 우리는 다음 사항을 추론 할 수 ARC에서, 간단한 할당없이 검사와 속성 setter를 구현할 수 있습니다 기본적으로
- (void)setProperty:(PropertyType)newValue {
_property = newValue;
}
, 나는 것을 확인 어떤 사과 문서에 액세스 할 수 있도록하려면이 그 조건을 필요로하지 않습니다. 나는 당신의 대답을 믿지 않는다고 느끼기를 원치 않습니다. 이것은 단지 나의 회사 문서를위한 것일뿐입니다. 나는 이런 종류의 출처가 필요합니다. ( –
이것은 부동산에 대한 세터입니까? 아니면 코드에 표시된 것보다 더 많은 것을 할 필요가 있습니까? – rmaddy
네, 그 이상입니다. 나는 코드에 넣을 것입니다 =) 그것을 알아 줘서 고마워요. –