viewdidload에서 생성한 객체는 모두 viewDidUnload에서 release해주는게 바람직합니다. 메모리 상활에 따라 Controller의 메모리 해제 없이, ios상에서 view만을 pudge시켜버리기 때문에, view pudge가 한번 일어 난 상황에서 view 재진입시, 중복 할당이 될수 있습니다.
그리고 self.myui=nil; 의 경우 setter를 어떻게 작성했는지 에 따라 다르겠지만, @property(retain) 로 선언되어 있다면 저거 역시 [myui release]와 동일한 코드 이기 때문에 nil할당이라기 보다 메모리 해제가 되는것입니다. 결국 위 두 코드는 같은 일을 하는데, 시점만 다른것이고, dealloc에서 ui object를 해제 하는것은 조금 위험한 구현입니다.
저 같은 경우에는 ui에 관련된 object는 viewDidUnload, 비ui관련 object는 dealloc에서 해주는 편이지만, 비ui oject가 메모리를 많이 가지고 있다면, viewDidUnload에서 하기도 합니다.
viewdidload에서 생성한 객체는 모두 viewDidUnload에서 release해주는게 바람직합니다.
답글삭제메모리 상활에 따라 Controller의 메모리 해제 없이, ios상에서 view만을 pudge시켜버리기 때문에, view pudge가 한번 일어 난 상황에서 view 재진입시, 중복 할당이 될수 있습니다.
그리고 self.myui=nil; 의 경우 setter를 어떻게 작성했는지 에 따라 다르겠지만, @property(retain) 로 선언되어 있다면 저거 역시 [myui release]와 동일한 코드 이기 때문에 nil할당이라기 보다 메모리 해제가 되는것입니다.
결국 위 두 코드는 같은 일을 하는데, 시점만 다른것이고, dealloc에서 ui object를 해제 하는것은 조금 위험한 구현입니다.
저 같은 경우에는 ui에 관련된 object는 viewDidUnload, 비ui관련 object는 dealloc에서 해주는 편이지만, 비ui oject가 메모리를 많이 가지고 있다면, viewDidUnload에서 하기도 합니다.
조금이라도 도움이 되셨길 바라면, 지나가다가 한자 적습니다 :) 즐거운 개발 하세요 !!
좋은 댓글 감사합니다! ^^
답글삭제책에 있는내용을 간단히 메모한건데 말씀 주신내용도
충분히 검토해볼만한 내용이네요 ~
UI의 재사용성 스펙에 따라 잘 조합해서 써야 겠네요