문제

나는 독서가 있다면 뭔가 다음과 같다:

@property (nonatomic, assign) UIView *anView;

그런 다음 필요가 없 케어에 대한 메모리를 관리합니다.나는 할 필요가 없[anView 릴리스]에서-dealloc 방법입니다.

왜?

"할당"는 컴파일러:"이봐 남자,이 숙박 시설을 유지하지 않는 어떤 사람이 할당하여 그것은".고 할 수 있습니다 다음

@synchronize anView;

와 컴파일러는 마술로 만듭니다 getter 및 세터,setter 수 있습니다 그냥 보면 다음과 같다:

- (UIView*) anView {
    return anView;
}

Setter 처럼 보일 수 있습니다:

- (void) setAnView:(UIView*)newAnView {
    anView = newAnView;
}

는 잘못된?는 경우에는 바로,세터 클레임이 없음의 소유권 newAnView 변수 이후,그것은"보"을 제공합니다.그것은 단지 그리고 해당 인스턴스 변수이다.그래서 고려할 때 소유권 정책,할 필요가 없을 위한 anView 인스턴스에서 변수-dealloc.객체지 않신은 그것을 소유하고 있습니다.Ist 는 정확합니까?

도움이 되었습니까?

해결책

예,당신은 기본적으로 정확하다.가정하자는 쓰레기 수집가는 off(그렇지 않으면 그것이 문제가되지 않 어쨌든).

을 사용할 때 할당성이 없 개체를 해제하지 않기 때문에 당신은 유지한다(그것은 다른 사람의 책임).

기본적으로,이 만들어 약한 참조--anView 될 수 있 할당하는 동안 속도 포인트다.일반적으로,당신은 사용 할당을 위한 기본 데이터 유형에 대한 개체입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top