본문 바로가기

Mac&iOS

*** -[MyWindowController tableView:objectValueForTableColumn:row:]: message sent to deallocated instance

App개발하다가 TableView를 사용하다가 죽는 경우가 있었다. 

원인을 찾기 위해 Enable Zombie Objects를 했다. 예전엔 plist를 직접 입력했는데, XCode를 7.3으로 올리니 체크박스 형식으로 설정이 가능했다.




다음의 로그가 추가로 찍혔다.


*** -[MyWindowController tableView:objectValueForTableColumn:row:]: message sent to deallocated instance


결론적으로 말하면 ARC에서 delegate나 dataSource를 사용했으면 dealloc에서 반드시 nil로 초기화 해줘야 한다.