조앤의 기술블로그
[북스북스] 뷰 컨트롤러 구현, 기본 틀 잡기 본문
뷰 컨트롤러를 추가하고 기본 틀을 잡아본다.
[테이블 뷰와 데이터 소스 연동을 위한 핵심 메소드]
UITableViewDataSource 프로토콜
테이블 뷰에 데이터 소스를 연동할 때 필요한 내용은 다음 두가지 이다.
1) 테이블이 몇 개의 행으로 구성되는가?
2) 각 행의 내용은 어떻게 구성되는가?
핵심메소드
1) tableView(_:numberOfRowInSection:)
2) tableView(_:cellForRowAt:)
콜백 함수. 작성해 두면 시스템이 알아서 호출해 주는 식(일종의 지뢰같은 방식으로 동작)
1) tableView(_:numberOfRowInSection)
테이블 뷰가 생성해야 할 행(row)의 개수를 반환한다.
테이블 뷰를 구성하기 위해 먼저 호출하는 메소드. 시스템이 사용하
기 위한 메소드.
2) tableView(_:cellForRowAt)
각 행이 화면에 표현해야 할 내용을 구성하는 데에 사용된다.
[사용자의 액션 처리를 위한 핵심 메소드]
tableView(_:didSelectRowAt:)
사용자가 선택한 내용에 맞는 액션을 처리하는 용도로 사용한다.
>> 탭바 컨트롤러를 구현할 때
일반 뷰 컨트롤러 앞에 내비게이션 컨트롤러를 삽입하고, 그 앞에 다시 탭 바 컨트롤러를 삽입하는 방식으로 작업하는 것이 효율적이다.
-> 그래서 미리 뷰 컨트롤러로 작업함.
근데 테이블 셀 길이 조정을 했는데 시뮬레이터에서 적용이 안된다...... xcode 버그라고 그러는데 어떻게 해결하는 방법이 없을까.
[참고]
꼼꼼한 재은씨의 Swift 기본편 8장 예제
.
소스코드는 깃허브 참고하세용
깃허브 : https://github.com/YoungCha329/BooksBooks
'Programming > 프로젝트' 카테고리의 다른 글
[뉴스리더] 뉴스 상세보기 구현 (웹뷰, 뷰컨트롤러 간 데이터 전달하기, iOS) (0) | 2020.03.20 |
---|---|
[뉴스리더] RSS 구독 앱 기획하기 (0) | 2020.03.17 |
[북스북스] 앱 기획 (0) | 2020.03.11 |
[식사 일기장] FSCalendar 적용하기 📅 (0) | 2020.03.02 |
[식사 일기장] 기획하기 📔 (0) | 2020.03.02 |