CLOSE SEARCH

iPhone Memory Management

1. alloc, new, copy류의 메서드는 retain된 객체를 리턴하므로 반드시 직접 release를 호출해준다.


2. retain을 호출했다면 반드시 release를 호출한다.


3. 클래스 메소드(+가 붙는 메소드, 혹은 컨비니언스 컨스트럭터)는 autorelease 객체를 리턴하므로 release를 명시적으로 호출할 경우 에러가 발생한다.


4. 자류구조 클래스는 요소를 추가할 때 retain하고 삭제할 때 release하므로 명시적으로 release를 호출할 필요가 없다.


5. @property 에서 retain 속성을 사용했다면 반드시 release를 명시적으로 호출해야한다.


6. 객체를 리턴할 경우 autorelease된 객체를 리턴하는것이 좋다.


7. 인터페이스 빌더와 연결된 객체는 retain 되어 있으므로 반드시 직접 해제해주어야 한다.

Filed under: iOS