내가 원할 때 uiimage/view/subviews를 릴리스해야하며,이를 공개하는 적절한 관행에 관해 몇 가지 질문이 있습니다.(iphone) uiimage, view, subviews 메모리 관리
[imageView removeFromSuperview] imageView 및 imageView.image가 출시 되나요?
view = nil; 하위 뷰/관련 uiimages를 재귀 적으로 릴리스하겠습니까? 그렇지 않다면보기의 하위보기를 해제하는 재귀 함수를 구현해야합니까?
편집을 감사드립니다.
이 방법은보기를 유지하고 이 새로운 수퍼 인 수신기에 자사의 다음 응답을 설정 -
나는 UIView의 도서관 기준에addSubview를 보였다.
removeFromSuperview - 수신기의 수퍼은 전무가 아닌 경우
는 수퍼은 수신기를 해제합니다. 보기를 다시 사용하려는 경우 을이 방법으로 호출하기 전에을 호출하고 나중에 적절하게 다시 해제하십시오.
여전히 [imageView release]와 연결된 uiImage는 이며, 여전히 하위 뷰를 재귀 적으로 릴리스해야합니다. 뷰의 할당이 해제되면 서브 뷰가 자동으로 해제됩니다.
나는 'release'dealloc 아니라고 말했다, 메모리 보유 수를 0 일 때 dealloced 알으십시오. (나는 다른 모든 참조를 처리 할 것이다 알고) recursive subview 릴리스에 대한 설명 주셔서 감사. 재귀 removeFromsuperview (또는 릴리스) 뷰의 하위 뷰의 모든 decendents 해제 구현해야 할 것이다. : – eugene
그렇다면 imageView.image = nil은 uiImage를 릴리스해야하며 그렇지 않으면 [imageView release]도 imageView.image를 릴리즈 할 것입니까? – eugene
UIImageView는 dealloced 될 때 모든 데이터를 해제한다고 가정 할 수 있습니다. UIImageView에서 호출 릴리스 데이터에 대한 릴리스 호출하지 않습니다. – jakev