가 이전 ARC에, 내가 할 수있는 아크 setMyProperty를 재정의하려면 retain/release 키워드를 더 이상 사용할 수 없으므로 적절하고 정확합니까?목표 - C 읽기 전용 특성과 개인 세터 구현 나는 속성을 사용하여 읽기 전용 수 있지만,이 클래스 내에서 쓰기 가능하고 싶었 경우
// interface declaration:
@property (nonatomic, strong, readonly) NSString *myProperty;
// Setter override
- (void)setMyProperty:(NSString *)newValue
{
if (myProperty != newValue) {
myProperty = newValue;
}
}
감사 여호수아 - 매우 유용합니다! 나는 최후의 일을 혼란스럽게 만들었다. ARC의 속성 변경에 대한 내용은 http://tools.ietf.org/html/draft-pantos-http-live-streaming-08에서 볼 수 있습니다. 기본적으로 **는 @synthesize로 구현됩니다 ** ** ** 할당보다는 ** 강한 **. 어떤 경우에는 공개 API를보다 명확하게 만들기 위해 공용 인터페이스의 사용자가 내부적으로 (내부적으로) 속성이 중요하다는 것을 알아야하거나 신경 쓸 필요가 없으므로 (비 원자 적, 읽기 전용) ? 잘만되면 나는 여기에서 의미를 가진다. :) –
그것은 객체 유형에 대해서만 강력합니다. 더 명백하게하기 위해 나는 여전히'strong','weak' 또는'assign'를 넣고 싶습니다. –
실제로 강력한 것은 객체 유형에만 적용 가능하지만 공개 API (예 : 헤더 파일)가이 세부 정보를 게시해야하는지 여부에 대한 질문이 여전히 남아 있습니다. 그게 제가 물어 보는 진정한 요점입니다! –