์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- SwiftUI
- TCA
- ios
- Xcode
- tableView
- node.js
- UIKit
- reactorkit
- XCTest
- Kuring
- RxSwift
- Lv2
- Flutter
- BFS
- SnapKit
- BOJ
- arkit
- swift
- CollectionView
- ํจ์คํธ์บ ํผ์ค
- rxcocoa
- designpattern
- MVVM
- ๋ฐฑ์ค
- combine
- Swfit
- visionOS
- ํ๋ก๊ทธ๋๋จธ์ค
- raywenderlich
- realm
- Today
- Total
lgvv98
ch09 ํ์๊ธ ๋ญํน์ฑ ์ฝ๋๋ฆฌ๋ทฐ ๋ณธ๋ฌธ
ch09 ํ์๊ธ ๋ญํน์ฑ ์ฝ๋๋ฆฌ๋ทฐ
๐ฅ ์บ๋ฟ๋งจ 2021. 6. 21. 01:30ํจ์คํธ ์บ ํผ์ค ๋ญํน์ฑ์ ์์ํ๊ธฐ ์ ์ TableView์๋ ์๋ ์์ ๊ฐ์ด ์์๋๋ฐ, ์ด๋ฒ์ ์กฐ๊ธ ๋ ๊ฐ๋ ์ ๊ตฌ์ฒดํํ๊ณ ์ฌ์ฉํ์ง ์๋ ๋ถ๋ถ๋ ์๊ฒ๋์ด์ ์์ฑํด๋ณด๊ณ ์ ํ๋ค.
(๋ชฉ์ฐจ)
1. performSegue์ sender ํ๋ผ๋ฏธํฐ
2. prepare์์ sender ํ์ฉํด ๋ค๋ฅธ ๋ทฐ์ ํ๋กํผํฐ๋ก ๋๊ธฐ๋ ๋ฒ
3. TableView์์ ์ ํ์์ ๋ํ๋๋ ์ ์กฐ์
1. 1. performSegue์ sender ํ๋ผ๋ฏธํฐ
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "showDetail", sender: indexPath.row)
// sender๋ ์ธ๊ทธ ์ํ์ ์์ด ์ค๋ธ์ ํธ๋ฅผ ๊ฐ์ด ๊ปด์ ๋ณด๋ผ ์ ์๋ ํ๋ผ๋ฏธํฐ
}
performSegue์์ sender์ ์ญํ ์ ์ ํํ๊ฒ ๋ชฐ๋ผ์ ์ฌ์ฉํ๋๋ฐ ์ ์ฝ์ด ์์๋๋ฐ, ์ด๋ฒ ๊ธฐํ๋ก ์ ํํ๊ฒ ์ดํด๊ฐ ๋์๋ค.
indexPath.session๊ณผ ๊ฐ์ ์ ๋ณด๋ ์ ๋ฌํ ์ ์๋๋ฐ, ํด๋ณธ๊ฑด ์๋์ง๋ง row์ session์ ํจ๊ป ์ ๋ฌํ๋ ค๋ฉด ๋ฐฐ์ด์ ๋ด์์ ๊ทธ ๋ฐฐ์ด์ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ ์๋ ์์ ๊ฒ ๊ฐ๋ค.
2. prepare์์ sender ํ์ฉํด ๋ค๋ฅธ ๋ทฐ์ ํ๋กํผํฐ๋ก ๋๊ธฐ๋ ๋ฒ
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// DetailViewContollerํํ
์ ๋ฌํ ๋ฐ์ดํฐ ์ ๋ณด
if segue.identifier == "showDetail" {
let vc = segue.destination as? DetailViewController
if let index = sender as? Int { // indexPath.row์ ๊ฐ์ด senderํตํด ์ ๋ฌ ๋ผ
vc?.name = nameList[index]
vc?.bounty = bountyList[index]
}
}
}
๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋๊ธธ ์ ์๋ค.
์ฐ์ ์ ์ ์กฐ๊ฑด์ด segue๋ฅผ ์ฐ๊ฒฐํด์ ์ธ๊ทธ์ ์์ด๋๋ฅผ ์ง์ ํด์ฃผ๊ณ , ๋ชฉ์ ์ง๋ฅผ ์ฐพ์์ sender์์ ์ ๋ณด๋ฅผ ๋ฐ์์ index์ ๋ฃ์ด ์ ๋ฌ!!
protocol ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐ๊ธฐ๋ ํ์๋๋ฐ, ์ด๊ฒ๋ ๋์์ง ์์ ๋ฐฉ๋ฒ!!
3. TableView์์ ์ ํ์์ ๋ํ๋๋ ์ ์กฐ์
์ด๋ ๊ฒ ํ๋ฉด ์๋ฃ ํ์์ด ๋จ๋๊ฑธ ๋ฐฉ์งํ ์ ์๋ค.
https://github.com/lgvv/fastCampus/tree/main/BountyList
'โ ๏ธ deprecated โ ๏ธ > ํจ์บ (์ฌ์ธ์)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ch11 ํ์๊ธ ๋ญํน์ฑ ์ฝ๋๋ฆฌ๋ทฐ(CollectionView) (0) | 2021.06.22 |
---|---|
๐ ch11 Animation - ๊ฐ๋ ํธ๐ (0) | 2021.06.22 |
ch10 ํ์๊ธ ๋ญํน์ฑ ์ฝ๋๋ฆฌ๋ทฐ(MVVM) (0) | 2021.06.21 |
ch10 MVVM ํจํด (0) | 2021.06.21 |
ํจ์คํธ ์บ ํผ์ค iOS ๊ฐ์ (0) | 2021.06.20 |