나는 아직도 코코아 터치의 뉘앙스를 배우고있다. ARC 환경에서 float, int 등의 유형에 대해 내부적으로 생성되는 getter/setter의 종류는 무엇입니까?ARC 환경에서의 세터와 게터
- (NSURL *)url {
if (_url == nil)
_url = [[MyURL alloc] initWithURL:url];
return _url
}
- (void)setUrl:(NSURL *)theUrl {
if (theUrl != _url) {
[_url release];
_url = [theUrl retain];
}
}
하지만, ARC 환경 방출에와 사용할 수 없습니다 유지 :
나는 재산이 아닌 ARC의 개체입니다 만약 내가 이런 일이있을 수 있음을 알고있다. 어떤 종류의 getter/setter가이 경우 ARC 환경을 위해 자동으로 생성됩니다.
그리고 float, int 등 스칼라 유형은 어떻습니까?
3. 나에게 의미가, 그냥 게으르게 - 초기화 게터 –
덕분 !!!!!!!!!!!!! – SpaceDog
@Catfish_Man 아마도 "이해가되지 않는다"는 것이 너무 강했다. 하지만 'url'이라는 getter를 사용하면 ivar을'url '변수로 설정합니다 (ivar? global?)라는 'url'은 DD에 대한 공격을하지 않고서 나에게 아주 좋은 구현처럼 보이지 않습니다. (사실, 이름 짓기 문제뿐만 아니라 많은 이유로). 계산적으로 비싸거나 메모리 집약적 인 리소스라면 lazy 초기화를 사용 하겠지만 여기서는 신중한 것으로 보이지 않는다. 만약 내가 그렇게했다면 약간 다른 구현을 할 것이다. – Rob