일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 안드로이드
- Swift
- Android Studio
- android java
- 링크드리스트
- label
- IOS
- 준코딩
- swift baekjoon
- 보호와 보안
- 커스텀팝업
- text to speech
- 연결리스트
- FLUTTER
- Firebase
- deeplink
- customPopup
- 버블정렬
- 예외처리
- BAEKJOON
- Android
- 백준
- 플러터
- Xcode
- C언어
- storyboard
- 안드로이드스튜디오
- TextField
- 자바
- xocde
- Today
- Total
준코딩
(ios/Swift) TableView 사용하기 본문
Xcode : 14.2v
사용언어: Swift , StoryBoard
깃허브주소: https://github.com/Ljunhyeob/TableView
1. tableview를 추가해줍니다. 원하는 크기대로 조정
2.생성한 테이블 뷰 안에 테이블뷰 셀을 생성해줍니다.
3.생성한 테이블뷰를 우클릭 한 상태로 드래그 해서 연결해줍니다.
4.datasource 와 delegate 를 연결해줍니다.
5.cell 을 자기가 원하는데로 수정해줍니다. (저는 라벨 두개를 넣었습니다. 그외 다른 버튼, 이미지 등등 다 가능합니다.)
6.viewController에서 새로운 class를 생성합니다 (Cell에 대한 클래스 이므로 저는 TableCell 로 이름 지었습니다. )
7. TableCell 을 활성화 시킨 상태에서 인스팩터창 class 이름을 방금 생성한 TableCell 로 연결시켜 줍니다.
8. 그리고 cell 안에 생성한걸 class에 연결합니다.
9. 그리고 cell에 대한 식별자를 cell로 지정해줍니다. (저기다 하는거 아닙니다..... 저기에 했더니 오류나서 엥.. 하고 삽질했네요)
(식별자 이름을 cell로 지정했는데 왜 찾지 못하는거지 ?? )
(4번째 Restoration Id에다 하는게 아니고... 5번째 칸에 있는 identifier 에 해야하는거였습니다.. 할때마다 틀림..)
10. 자 다시 돌아와서 viewController에 UITableViewDataSource와 UITableViewDelegate 프로토콜을 채택해줍니다.
그리고 TableView에 뿌려줄 데이터를 생성했습니다.
11. 그럼 아랫처럼 에러가 나는데 저 프로토콜을 사용하려면 필수 메소드가 있어야하는데 생성하지 않았다고 에러가 나는겁니다.
아래 Fix 버튼을 눌러서 필수 메소드를 생성해줍니다.
12. 필수메소드가 자동으로 생성되었습니다.
13. 각 필수 메소드가 어떤 역할인지는 주석으로 적어두었습니다. 끝~
14. 코드
// // ViewController.swift // TableViewTest // // Created by 이준협 on 2022/12/22. // import UIKit class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { //row의 갯수를 리턴 return titleArray.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { //row를 나타낼 cell 설정 guard let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? TableCell else { return UITableViewCell() } cell.title.text = titleArray[indexPath.row] cell.contents.text = contentsArray[indexPath.row] return cell } let titleArray = ["제목1","제목2","제목3"] let contentsArray = ["내용1","내용2","내용3"] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } } class TableCell: UITableViewCell { @IBOutlet weak var title: UILabel! @IBOutlet weak var contents: UILabel! } |
'프로그래밍 > IOS (Swift)' 카테고리의 다른 글
(ios/Swift) Date Picker 사용하기 (0) | 2022.12.23 |
---|---|
(ios/Swift) CocoaPods 설치방법 (0) | 2022.12.22 |
(ios/Swift) ScrollView 사용하기 (1) | 2022.12.22 |
(ios,Swift) UserDefaults 사용법 (0) | 2022.12.21 |
(ios/Swift) 화면전환 - present (0) | 2022.12.21 |