반응형
참고 블로그
1. 테이블 뷰
- UITableView : iOS 앱 개발에서 여러 아이템을 나열해서 리스트 형태로 보여줄 때 사용
- colum 한개
- 데이터들을 여러 행에 걸쳐서 표현
- 각 데이터들은 "테이블 뷰 셀"에 의해서 표현
- Recycle cell : 화면에서 보여주는 개수는 한계 때문
- Protocol : 어떤 서비스를 이용하기 위해서 해야할 일들의 목록
1.1 ) 테이블뷰 서비스를 쓰기 위해 해야 할 일
- 테이블뷰 셀 몇개?
- 테이블 뷰 어떻게 보여줄까?
- 테이블 뷰 클릭하면 어떡해?
테이블뷰를 만들면서 나왔던 에러
❗️ Issue 1
Prototype table cells must have reuse identifiers
💡 Solution
1. cell선택후
2. identifiers 입력
❗️ Issue 2
테이블뷰를 만들고 에뮬레이터를 돌리면 테이블뷰셀 적용이 안되는 현상
💡 Solution
이전에서는 따로 설정을 안해줘도 디폴트 설정으로 적용이 되는 듯한데 Xcode13.0에서는
UITableViewDataSource, UITableViewDelegate 모두 적용을 해줘야 에뮬레이터에서 셀적용이 됐다.
프로토콜을 사용하는 방법은 클래스 상속과 유사합니다. 앞에서 프로토콜을 규약이며 인터페이스라고 하였죠? 추가한 프로토콜이 요구하는 일을 하지 않으면 에러가 발생하게 됩니다. 프로토콜에 optional이 붙어있지 않은 함수를 반드시 구현해주어야 합니다.
Fix를 누르면 자동으로 하단에 메서드가 구현되고 필요한 내용만 넣으면 된다.
// UITableViewDataSource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
return cell
}
그리고 마지막으로 링크를 해줘야한다.
연결해줄 곳에 드래그
이 모든 것들이 내가 지금까지 만든 뷰컨트롤러와 연결이 되어야한다.
그러면 적용 끝 아래 영상
반응형
'모바일앱 > iOS' 카테고리의 다른 글
투두리스트앱 만들기(구현계획) (0) | 2021.11.11 |
---|---|
원피스 랭킹 앱 프로젝트 Review (BountyListApp) (0) | 2021.11.10 |
원피스 현상금 랭킹앱 만들기(7) - 코드리뷰 (0) | 2021.11.10 |
원피스 현상금 랭킹앱 만들기(6) - 뷰컨트롤러 간 데이터 전달하기 (0) | 2021.11.08 |
원피스 현상금 랭킹앱 만들기(5) - 디테일뷰 모달로 띄우기 (0) | 2021.11.04 |
원피스 현상금 랭킹앱 만들기(4) - 커스텀셀 (0) | 2021.11.03 |
원피스 현상금 랭킹앱 만들기(3) - 테이블뷰 프로토콜 (0) | 2021.10.31 |
원피스 현상금 랭킹앱 만들기(1) - 테이블뷰 기초개념 (0) | 2021.10.21 |