1. alloc/copy/new/retain/Create 메소드로 생성 또는 지정한 객체는 개발자 스스로 release 해야한다.
alloc 한만큼 release 해야한다.
2. 위 메소드 이외의 메소드로 생성한 객체는 대부분 autorelease 상태이다.
autorelease 상태의 객체는 그 블럭에서만 유효하고 그 이후에는 언제 사라질지 알수가 없다.
얻어진 객체를 계속 사용하려면 retain 시켜줘야 한다.
위 규칙은 컴파일러에서 보장되는 원칙이 아니다.
따라서 autorelease 상태가 아닐 수 있다.
3. 개발자가 생성한 메소드가 객체를 반환할때는 위 2번 규칙에 따라 만드는 것이 좋다.
나도 헤깔리지 않고, 소스를 넘겨받은 사람도 헤깔리지 않는다.
4. 집합체(NSArray 등) 객체에 객체를 넣을때는 집합체가 자동으로 retain 시킨다.
집합체가 알아서 retain 하고 release 하므로 별다르게 신경쓸게 없다.
'프로그래밍 > iOS' 카테고리의 다른 글
뷰 Animation효과 - 모달창 띄우기 / 창뒤짚이는효과 / 페이지넘김효과 (0) | 2011.06.03 |
---|---|
@property 옵션 정리 (0) | 2011.06.03 |
MPMoviePlayerController의 Notifications목록 (0) | 2011.06.02 |
UIView 화면 터치시 single tap , double tap에 대한 구현 (0) | 2011.06.02 |
NSMutableDictionary 사용법 및 삽입 ,삭제에 대해서 알아보자 (0) | 2011.06.02 |