[Tip][iOS] Xcode 메모리 릭 탐지

객체가 메모리에서 해제 되기를 기대하는 시점에서 Xcode 하단 (debug area)에 있는 Debug Memory Graph 버튼을 누르면 memory graph를 graph 형태로 볼 수 있다.

debug_memory_graph

Xcode > 하단 > Debug Memory Graph

memory_graph_xcode

내가 만든 객체를 어떤 객체가 참조하고 있는지 시각적으로 보여준다.

Graph를 마우스로 클릭하면 우측 Inspector 에서 객체 정보와, 어떤 함수에서 발생 했는지 자세히 알려준다. call_stack (backtrace)

만약 보이지 않는다면 빌드 & Run 전에 scheme > edit > Diagnostics > Memory Management 에 항목을 추가해야 한다.

edit_scheme

광고

[iOS] EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

async callBack을 기다리다가 내가 dealloc 될 수 있는 상황인데….

callBack이 반드시 호출 되도록 dispatch_queue에 callBack을 받을 객체를 retain 시키도록 하면 될 것 같다. dispatch_queue가 없으면…잠시 살아 있도록 객체를 retain할 공용 객체를 만들어야 겠다.

  1. 크래시 발생 시키는 케이스에 대한 테스트 케이스 작성
  2. 예방하기 위한 방법 테스트
  3. 업무에 적용

[xcode] Storyboard warning: prototype table cells must have reuse identifiers

Storyboard warning: prototype table cells must have reuse identifiers

In Short~

Step1. give a name to cell

Step2. Clean “DerivedData”  ~/Library/Developer/Xcode/DerivedData/

Step3. Restart Xcode

 

https://stackoverflow.com/questions/9808621/storyboard-warning-prototype-table-cells-must-have-reuse-identifiers