์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Swfit
- designpattern
- RxSwift
- arkit
- Kuring
- tableView
- raywenderlich
- rxcocoa
- SwiftUI
- combine
- ๋ฐฑ์ค
- SnapKit
- Flutter
- ios
- MVVM
- swift
- BFS
- CollectionView
- ํจ์คํธ์บ ํผ์ค
- XCTest
- visionOS
- node.js
- Lv2
- ํ๋ก๊ทธ๋๋จธ์ค
- TCA
- realm
- reactorkit
- UIKit
- Xcode
- BOJ
- Today
- Total
๋ชฉ๋กํ๋ฉด์ ํ (4)
lgvv98
[TCA] Navigation TCA์ Navigation์ ๋ํด์ ๊ณต๋ถํ๊ณ ์ ๋ฆฌํด๋ณด์. ์๋น์ค ๊ฐ๋ฐ์์ ์ฌ์ฉํ๋ ํ๋ฉด์ ํ ๋ฐฉ์์ผ๋ก๋ ๋ช ๊ฐ์ง๊ฐ ์๋๋ฐ, ์ฐ์ ์ ์ผ๋ก ์์ฃผ ์ฌ์ฉํ๋ ๊ฒ๋ค์ ์ ๋ฆฌํ๊ณ , ์ถ๊ฐ์ ์ผ๋ก ํ์ํ ๊ฒ๋ค์ด ์์ ๋๋ง๋ค ํฌ์คํ ์ ์ ๋ฐ์ดํธ ํด๋ณด์! ์ด๋ฒ์ ์์๋ณผ ๋ชฉ์ฐจ! - ์ผ๋ฐ์ ์ธ sheet ํ๋ฉด์ ํ - navigationDestination, popover, sheet ์ฌ์ฉ - NavigationStack (feat. Path & destination) - ์ฌ๋ฌ๊ฐ์ ๋ทฐ๋ฅผ ํ๋ฒ์ ์ด๋์์ผ์ผ ํ ๊ฒฝ์ฐ - struct Path: Reducer { ... } - NavigationStack์ View ๋จ์์ ์ฒ๋ฆฌ - StackElementID - ScreenA - ์ค์ค๋ก dismiss - Scre..
์ฝ๋๋ก ํ๋ฉด์ ํ โ ์ด๋ฒ ์๊ฐ์๋ ์คํ ๋ฆฌ ๋ณด๋ ์์ด ํ๋ฉด ์ ํ ํ๋ ๋ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ. ๐ ๊ทธ๋์์ ํญ์ ์คํ ๋ฆฌ ๋ณด๋๋ก๋ง ์์ ์ ํด์ present ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ํ๋ฉด์ ์ ํํ๋ค๋ฉด // ์คํ ๋ฆฌ๋ณด๋์ ํ์ผ ์ฐพ๊ธฐ let storyboard: UIStoryboard? = UIStoryboard(name: "Main", bundle: Bundle.main) // ์คํ ๋ฆฌ๋ณด๋์์ ์ง์ ํด์ค ViewController์ ID guard let vc = storyboard?.instantiateViewController(identifier: "VC1") else { return } // ํ๋ฉด ์ ํ๋ฐฉ์ ์ ํ (default : .modal) vc.modalTransitionStyle = .fullScreen..
โ ์ด๋ฒ์๊ฐ์๋ ๋ค๋น๊ฒ์ดํฐ๋ฅผ ์ด์ฉํด ํ๋ฉด ์ ํํ๊ธฐ + ์ปจํ ์คํธ์ ๋ํด์ ์์๋ณผ ์์ ์ด์ผ โ Navigator ๋ฐ ํฌ์คํ ์ ์์ 1. Route์ ๊ฐ๋ - ์ค๋งํธํฐ์์ ๋ณด์ฌ์ง๋ ํ๋์ ํ์ด์ง ํ๋ฉด ! 2. Navigator์ ์ ์์ push, pop ํจ์, stack ์๋ฃ๊ตฌ์กฐ - stack ( FILO ) - push ๋ฐ์ดํฐ๋ฅผ ๋ฃ๊ธฐ - pop ๋ฐ์ดํฐ๋ฅผ ๋นผ๊ธฐ - Route(ํ์ด์ง) ๋ Navigator๋ผ๋ ์์ ฏ์ด ๋ด๋นํ๊ณ ๊ทธ ๊ตฌ์กฐ๋ ์คํ ๊ตฌ์กฐ์ด๋ค. 3. MaterialPageRoute์์ ฏ๊ณผ context - ํ๋ฉด์ ํํ ๋, ๋ฐ๋ก class ์ ๋ ฅํด์ ์ด๋ํ๋ ๊ฒ์ด ์๋๋ผ ํ๋ฉด์ ์ง์ ํด์ฃผ๋ฉด์ ์ด๋ํ๋ค. 4. ํ์ด์ง ์ด๋ ๊ธฐ๋ฅ ๊ตฌํ ์์ฑ โ ์ฝ๋ ๋ฆฌ๋ทฐ import 'package:flutter/material.d..
โ ์ด๋ฒ ์๊ฐ์๋ ํ๋ฌํฐ 2.0์ผ๋ก ์ธํด์ SnackBar์ ์ฌ์ฉ์ด ์์ ํ ๋ฌ๋ผ์ก์ด. ๊ทธ๋์ 18๊ฐ์ด ์๋์ 26๊ฐ์ผ๋ก ํจ์น๊ฐ์ข๋ฅผ ์งํํ๋๋ฐ ์ฌ๊ธฐ๋ก ๋ณด๊ธฐ! ํน์๋ผ๋ ๊ฐ์๋ฅผ ๋ณด๊ณ ๋ฐ๋ผํ๋ ์ฌ๋์ด๋ผ๋ฉด ์ด ์์ ์์ ํจ์น๊ฐ์ข์ชฝ์ผ๋ก ๊ฑด๋ ๋ฐ๋๊ฒ์ ์ถ์ฒํด. ๋ํ ์ด๋ฒ ๊ฐ์๋ ์๋นํ ๋ณต์กํ ๊ฐ๋ ๋ค๊ณผ ์ฑ ๊ฐ๋ฐ์ ์์ด์ ์๋นํ ์ค์ํ ๊ฒ๋ค์ด ๋ง์ผ๋ฏ๋ก ์ง์ค ๊ทธ๋ฆฌ๊ณ ๋ ์ง์คํ ๊ฒ! ๊ทธ๋ฆฌ๊ณ ํ๋ฌํฐ ํ๋ฉด์ ํ์ ๋ํ ๊ฐ๋จํ ์ฝ๋๋ค์ ์ฟ๋ณผ ์ ์๋ค. ๐ ์ด๋ฒ ํฌ์คํ ์ ๊ธธ์ด์ ๋ค์ ํฌ์คํ ๊น์ง ์ด์ด์ง๋๋ค...~~ 1. ScaffoldMessenger class 2. Buttons(TextButton, ElevatedButton, OutlinedButton) 3. Global Key โ Why ScaffoldMessger? ์ฐ์ Sca..