UITableView
@MainActor protocol UITableViewDataSource
ํ ์ด๋ธ ๋ทฐ๋ ๋ฆฌ์คํธ ํํ์ด๋ฉฐ, UIScrollView๋ฅผ ์์๋ฐ์ ์์ง ์คํฌ๋กค์ด ๊ฐ๋ฅํฉ๋๋ค.
ํ ์ด๋ธ์ ๊ฐ๋ณ ํญ๋ชฉ์ ๊ตฌ์ฑํ๋ ์ ์ UITableViewCell ๊ฐ์ฒด์ด๋ฉฐ, ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ํ์ ๊ทธ๋ฆฝ๋๋ค.
ํ ์ด๋ธ ๋ทฐ๋ ๊ฐ๊ฐ ์์ฒด ํ์ด ์๋ 0๊ฐ ์ด์์ ์น์ ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์น์ ์ ํ ์ด๋ธ ๋ทฐ ๋ด์์, ํ์ ์น์ ๋ด์์ ์ธ๋ฑ์ค ๋ฒํธ๋ก ์๋ณ๋ฉ๋๋ค.
์ํ๋ ์น์ ์์ ์น์ Header๋ฅผ ๋ถ์ผ ์ ์์ผ๋ฉฐ, ์ ํ์ ์ผ๋ก ์น์ Footer๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
UITableViewCell
@MainActor class UITableViewCell : UIView
UITableViewCell ๊ฐ์ฒด๋ ๋จ์ผ ํ ์ด๋ธ ํ์ ๋ด์ฉ์ ๊ด๋ฆฌํ๋ ํน์ํ ๋ทฐ ์ ํ์ ๋๋ค.
์ฃผ๋ก ์ ์ ์ฌ์ฉํ์ฌ ์ฑ์ ์ฌ์ฉ์ ์ง์ ์ฝํ ์ธ ๋ฅผ ์ ๋ฆฌํ๊ณ ํ์ํ์ง๋ง UITableViewCell์ ๋ค์๊ณผ ๊ฐ์ ํ ์ด๋ธ ๊ด๋ จ ๋์์ ์ง์ํ๋ ๋ช ๊ฐ์ง ํน์ ์ฌ์ฉ์ ์ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ์ ์ ์ ํ ๋๋ ๊ฐ์กฐ ์์ ์ ์ฉ
- ์์ธ ๋๋ ๊ณต๊ฐ ์ ์ด์ ๊ฐ์ ํ์ค accessory view ์ถ๊ฐ
- ์ ์ ํธ์ง ๊ฐ๋ฅํ ์ํ๋ก ๋ง๋ฌ
- ์ ์ ๋ด์ฉ์ ๋ค์ฌ์ฐ๊ธฐ ํ์ฌ ํ์ ์๊ฐ์ ๊ณ์ธต ์์ฑ
์ฑ์ ์ปจํ ์ธ ์์ญ์ด ์ ์ ๋๋ถ๋ถ์ ์ฐจ์งํ์ง๋ง, ์ ์ ๋ค๋ฅธ ์ปจํ ์ธ ๋ฅผ ์ํ ๊ณต๊ฐ์ ํ๋ณดํ๊ธฐ ์ํด ํด๋น ๊ณต๊ฐ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
์ ์ ์ปจํ ์ธ ์์ญ์ ๋ค์ accesory view๋ฅผ ํ์ํฉ๋๋ค.
ํ ์ด๋ธ์ ํธ์ง ๋ชจ๋๋ก ์ ํํ๋ฉด, ์ ์ ์ปจํ ์ธ ์์ญ์ ๋งจ์์ delete control์ ์ถ๊ฐํ๊ณ ์ ํ์ ์ผ๋ก reordered control ๋ฅผ ํ์ํ ์ ์์ต๋๋ค. ์ฌ์ ๋ ฌ ์ปจํธ๋กค์ ๋๋ฌ ์ ์ ๋๋๊ทธํ๋ฉด ์ ์๋๋ก ์์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์คํ ๋ฆฌ๋ณด๋์์ ์ ์ ์ปจํ ์ธ ์ ๋ ์ด์์์ ๊ตฌ์ฑํฉ๋๋ค.
ํ ์ด๋ธ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋์ ์ ์ ํ์ด ์์ง๋ง ํ ์ด๋ธ์ ์ ์์ฑ ๊ฐ์ ๋ณ๊ฒฝํ์ฌ ์ ์ ํ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- Identifier: ์ด ์๋ณ์( ์ฌ์ฌ์ฉ ์๋ณ์๋ผ๊ณ ๋ ํจ)๋ฅผ ์ฌ์ฉํ์ฌ ์ ์์ฑ
- Style: ํ์ค ์ ํ ์ค ํ๋๋ฅผ ์ ํํ๊ฑฐ๋ ์ปค์คํ ์ ์ ์ ์
- Class: ์ปค์คํ ๋์์ ์ฌ์ฉํ์ฌ UITableCell ํ์ ํด๋์ค ์ง์
UITableViewController
@MainActor class UITableViewController : UIViewController
์ธํฐํ์ด์ค๊ฐ ํ ์ด๋ธ๋ทฐ๋ก ๊ตฌ์ฑ๋๊ณ ๋ค๋ฅธ ์ปจํ ์ธ ๊ฐ ๊ฑฐ์ ๋๋ ์ ํ ์๋ ๊ฒฝ์ฐ ํ์ ํด๋์ค ์ ๋๋ค.
Table View Controller๋ ํ ์ด๋ธ ๋ทฐ์ ์ปจํ ์ธ ๋ฅผ ๊ด๋ฆฌํ๊ณ ๋ณ๊ฒฝ์ ๋์ํ๋๋ฐ ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ์์ต๋๋ค.
๋ํ ๋ค์ ๋์์ ๊ตฌํํฉ๋๋ค.
- ์คํ ๋ฆฌ ๋ณด๋ ๋๋ Nib ํ์ผ์ ๋ณด๊ด๋ ํ ์ด๋ธ ๋ทฐ๋ฅผ ์๋์ ๋ก๋ ํฉ๋๋ค. tabel View ์์ฑ์ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ ๋ทฐ์ ์์ธ์ค ํฉ๋๋ค.
- ํ ์ด๋ธ ๋ทฐ์ data source์ delegate๋ฅผ ์ค์ ํฉ๋๋ค.
- viewVillApear(_:) ๋ฉ์๋๋ฅผ ๊ตฌํํ๊ณ ์ฒซ๋ฒ์งธ ํ์ ํ ์ด๋ธ ๋ทฐ์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก
'๐ iOS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
UIImageView (0) | 2022.09.28 |
---|---|
Outlet ๋ณ์์ Action ํจ์ (0) | 2022.09.27 |
[UIKit] UIView(3) (0) | 2022.03.30 |
[UIKit] UIView(2) (0) | 2022.03.28 |
[UIKit] UIView(1) (0) | 2022.03.25 |