이오류는 거의 메모리 오류다 일단 나는 2번 dealloc부터 해제 하니깐 메모리 에러를 잡았다.
1. 디버깅 스택을 확인해서 오류난 지점을 찾아라
- 사용자 코드가 나타나지 않을때는 dealloc 확인(네이게이션 컨트롤러에서 팝업될때 많이 발생)
2. dealloc 부터 디버깅해라 !!!
- nil 이 아니고 할당되지 않은 인스턴스에 release 메시지를 날리면 EXC_BAD_ACCESS
3. 부모 컨트롤러에서 값을 받아올때는 retain 하라 !!
- retain 안하면 그냥 주소값만 가져와서 부모에서 release 해버리면 잘못된 접근이 된다.
- 맘편히 프로퍼티로 할당하면 하자. self.param = input_param; 하면 내부적으로 기존것 release, 새것 retain 한다.
4. NSZombiesEnabled 를 활용하자
'iPhone App' 카테고리의 다른 글
[iphone] URL 인코딩 (1) | 2011.09.08 |
---|---|
[iphone] NSUserDefaults 를 이용해서 로그인 정보 저장 (0) | 2011.09.08 |
[iphone] Lost Focus 하는법, UIView에서 Touch event 받는법 (0) | 2011.09.05 |
[iphone] 경고창 띄우는 법 (0) | 2011.08.29 |
[iphone] synthesize 에서 "_" 언더바를 쓰는 이유 (0) | 2011.08.29 |