• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

TableViewCell에서 identifier 질문드립니다.

16.09.13 03:06 작성 조회수 120

0

예제에서 TableViewCell의 identifier 명을 "Cell"이라고 하고 Story보드쪽과 Controller쪽을 일치시켰는데요. cell이 총 7개가 보여지는데 7개에 대해서 identifier 명을 설정하지 않고 하나의 셀만 만들어서 하는게 이해가 잘 안갑니다. 하나의 셀만으로 여러개의 셀을 표현할 수 있다면 굳이 identifier명을 설정하게 만든 이유가 있나요? 뭔가 이유가 있어서 identifier명을 설정하게 했을거 같은데..

답변 1

답변을 작성해보세요.

0

 identifier을 사용 하는 이유는 재사용을 하기위한 내부 코드 때문에 그래요. 현재는 하나의 cell  design만 사용 하지만, 만들다 보면 여러개의 셀을 사용해야 할때가 꽤 많습니다. 그때 Cell을 구분해야하고 그 구분한 셀로 재사용을 해야 하는데(이부분의 강의에 있는 내용입니다. 화면에 보이는 셀만큼만 만들어 놓고 안보이는셀을 queue라는 곳에 넣고 내려가면서 새로 보여지는 셀로 내용만 바꿔서 재사용하는 구조 이부분이 제대로 안되면 계속 셀을 생성하다가 메모리 overflow가 나서 앱이 죽어 버리죠.) 내부적으로 재사용을 하려면 어떤 cell을 재사용해야되는지 구분을 해야되겠죠. 그것을 위해서 만들어 놓은 약속입니다. identifier 꼭 넣어야만 되도록 컴파일러 단에서 막아 버리죠.
예전엔 컴파일러에서 에러를 안내줘서 저거 잘못 입력했다가 Cell이 계속 생성되서 앱이 실행은 되는데 사용하다 보면 죽어 버리는 문제들이 많았습니다. 그런 혼동때문에 애플에서 컴파일러가 애초에 문제를 방지 하기 위해 에러를 내주는 겁니다.