2009-07-31 4 views
1

자동 릴리즈 된 오브젝트를 출시하면 어떻게됩니까? 그 autoreleased UIButton 내가 공개하고 UIButton을 만들 수있는 유일한 방법은 convinience 메서드를 사용하는 것입니다 buttonWithType :. 그것은 정상적인 물건처럼 메모리에서 풀릴 것인가? 아니면 자동 응답 풀에서 처리하도록해야합니까? 내가 할 수만 있다면 자동 응답으로 만들지 않았을거야.iPhone 개발 - 자동 릴리즈 된 오브젝트 출시

감사합니다.

답변

1

자동 복구 풀이 처리되도록해야합니다. 일단 부모 뷰에 버튼을 추가하면, 그 뷰는 그것을 유지할 것이고, 자동 릴리즈 된 핸들은 autorelease 풀에 의해 처리 될 것이다.

생각하는 가장 쉬운 방법은 소유권에 관한 것입니다. 사용자가 편리한 방법을 통해 얻은 참조를 "소유"하지 않으므로 보유하지 않는 한 공개하지 않아도됩니다.

0

소유하고있는 개체 만 릴리스해야합니다. + buttonWithType : 소유 한 객체를 반환하지 않으므로 해제하지 않아야합니다.

Cocoa Object Ownership Rules을 검토하십시오.

왜 자동 복구 된 개체를 피하려고합니까? 단추를 사용하고보기 계층 구조에 삽입하기 때문에 단추를 작성하는 것으로 가정하므로 단추가 포함 된 자동 해제 풀의 배수를 빠르게 할 실질적인 이유는 없습니다.

관련 문제