TableView
ํ
์ด๋ธ ๋ทฐ๋ฅผ ์ ์ฌ์ฉํ ๊น? ์ ๊ฐํ๊ฒ ๋ณด์ฌ์ง๊ธฐ ์ํด์?
์ ํ๋ฒํธ๋ถ๋ง ์๊ฐํด๋ด๋ ์ฌ๋ฌ ์ ๋ณด๋ค์ ๋ด๋ ํ๋ฉด์ ๊ฒฝ์ฐ์๋ TableView๊ฐ ์ ์ฉํ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ์ ์ฌํ UI๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ๊ฐ๋ณํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ํ๋ผ ๋ ์ฌ์ฉํ๋ฉด ์ข๋ค.
TableView๋ ์ด๋ป๊ฒ ์ฌ์ฉํ ๊น?๐ค
1. ํ
์ด๋ธ์ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ๊ฐ.
(ex) ์ ํ๋ฒํธ๋ถ, ์์ดํฐ Setting ์ฑ , โโโ
2. ๋ฐ์ดํฐ๊ฐ ๋ช ๊ฐ์ธ๊ฐ?
(ex) 100๊ฐ, 1000๊ฐ, 10000๊ฐ, โโโ
3. ๋ฐ์ดํฐ๊ฐ ์๋ ํ์ ํด๋ฆญํ๋ฉด? - (ํ์ X)
< Table View๋ก list ๋ง๋ค๊ธฐ>
โ XCode - ์ฑ ์์ฑ
→ (์ด๋ฆ: MyTableView)์ผ๋ก ํ๊ฒ ์. <์์ ๋กญ๊ฒ>
โก ์คํ ๋ฆฌ๋ณด๋์์ Show Library - Table View ์ถ๊ฐ - ํ๋จ์ Add New Constraints์์ ์ํ์ข์ฐ 0์ผ๋ก ์
ํ
โข ViewController ์ฝ๋์ ์ฐ๊ฒฐ (control - drag & drop)
→ (์ด๋ฆ: TableViewMain)์ผ๋ก ํ๊ฒ ์. <์์ ๋กญ๊ฒ>
โฃ class์ UITableViewDelegate,UITableViewDataSource ์ถ๊ฐ
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
โค 4๋ฒ์ฒ๋ผ ์ถ๊ฐํ๋ฉด, ๋นจ๊ฐ์ ์๋ฆผ์ด ๋ธ(Do you want to add protocol stubs?) - Fix ํด๋ฆญ.
(↓) ์๋์ฒ๋ผ ์๋์ผ๋ก ์ฝ๋๊ฐ ์
ํ
๋จ. (↓)
โฅ ์์ code ์ฑ์ฐ๊ธฐ!
1> ์ฒซ ๋ฒ์งธ code → 'numberOfRowInSection ์ด์ฉ๊ณ ์ ์ฉ๊ณ .. ์. ์น์
์์ ํ์ ์..?'
- ๋ฐ์ดํฐ๋ ๋ช ๊ฐ์ธ๊ฐ.
โท return ํ ๊ฐ์
→ return 20์ผ๋ก ํ๊ฒ ์. <์์ ๋กญ๊ฒ>
2> ๋ ๋ฒ์งธ code → ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ๊ฐ.
๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ, ์ผ๋จ 1๋ฒ์งธ ๋ฐฉ๋ฒ Go! → ์์์ ์
๋ง๋ค๊ธฐ
โท let cell = UITableViewCell.init( ) ํด์ ์๋ ํ๋ฉด์ฒ๋ผ ์ ํ!
โฆ UITableViewCell.CellStyle → .default
String? → "Identifier์ด๋ฆ"
("TableViewFirstType" ์ผ๋ก ํ๊ฒ ์. <์์ ๋กญ๊ฒ>)
reuseIdentifier์์ reuse๊ฐ ๋ญ๊ธธ๋ " "์ ๋ฃ์ง?๐ค
→ 'ํน์ ์
์ ๊ณ์ ๋ฐ๋ณตํด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋ค.'
์ฆ, ์์์ return 20์ ํ์ง๋ง, ๋ง์ฝ์ 10000, 100000...์ ์ ์ปค์ง๋ค๊ณ ๊ฐ์ ํ๋ค๋ฉด..?
์ฝ๋๊ฐ ๊ทธ๋งํผ ๋๋ค(cell์ ์ฌํ์ฉํ์ง ์๋๋ค)๋ ๋ป์ด๊ณ ,
๊ทธ๋ ๊ฒ ๋๋ฉด, ๊ฒฐ๊ตญ ์ฑ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒ์ด๋ค.
๊ทธ๋์ ์ด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด์ ํน์ ํ ์
์ ๊ณ์ ๋ฐ๋ณตํด์
๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋ค๋ ์๋ฏธ๋ก "__" ์ด๋ฆ์ ์ ํด์ค ๊ฒ์ด๋ค.
โง ์ ์ฝ๋ ์ด์ด์ ์์ฑ
cell.textLabel.text = "\(indexPath.row)"
→ ํ์ ์
์ธ๋ฐ ์๋ฒ์ ๊ฐ์ง๊ณ ์๋ 'indexPath' ๋ฅผ ์ด์ฉํด์ ๊ฐ ์
๋ง๋ค ์ซ์๋ฅผ ๋ฃ๊ฒ ๋ค.
โจ return cell
โฉ viewDidLoad ์์ ์์ฑ
TableViewMain.dataSource = self
TableViewMain.delegate = self
์ฌ๊ธฐ์ self๊ฐ ์๋ฏธํ๋ ๊ฒ์
self = ๋ ์์ = class → class ์์ ์๋ ํด๋นํ๋ ํจ์๋ก ์ฐพ์๊ฐ๋ ๋ป.
(ํด๋์ค์์ UITableViewDelegate,UITableViewDataSource๋ฅผ ๊ตฌํํด๋จ๊ธฐ ๋๋ฌธ์ ์ฐ๊ฒฐ์ด ๋ ๊ฒ.)
๋! ๐ฅน
์คํ GoGo!!
๋ฐ๋ก ์ด์ด์ ๋ค์ ๊ฒ์๋ฌผ์
์์์ โฅ์์ ์ธ๊ธํ๋ 2๋ฒ์งธ ๋ฐฉ๋ฒ Go!
2024.03.02 - [Study/YouTube ๊ฐ์ ๊ณต๋ถ] - ํ ์ด๋ธ ๋ทฐ(UITableView)_[iOS/Swift]_(2)
'๐ฉ๐ปโ๐ป > YouTube ๊ฐ์ ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ ์ด๋ธ ๋ทฐ(UITableView)_[iOS/Swift]_(2) (0) | 2024.03.02 |
---|---|
์น๋ทฐ(WKWebView)_[iOS/Swift] (0) | 2024.03.01 |