ํฐ์คํ ๋ฆฌ ๋ทฐ
์๋ ํ์ธ์?
๋๊ตฌ๋ฆฌ์ ๋๋ค :)
์ ๋ฒ์๊ฐ์ ์คํ ๋ฆฌ๋ณด๋์์ด ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ ๋ณด์๋๋ฐ์!
๊ฑฐ๊ธฐ์ ์ ๊ฐ ๊ถ๊ธํดํ๋
window์ makeKeyAndVisible์ ๋ํด ์์๋ณผ๊น ํฉ๋๋ค!
View Architecture
๋จผ์ ์ ํฌ๊ฐ ๋ง๋ค๊ณ ์๋ ์ฑ์ ํ๋ฉด ๊ตฌ์กฐ์ ๋ํด ๊ฐ๋จํ ํ์ธํด ๋ณด๋ ค๊ณ ํฉ๋๋ค!

๊ณต์๋ฌธ์์์ ํ๋ฉด ๊ตฌ์กฐ๋ฅผ ์ฐพ์๋ณด๋ฉด
์์ ์ฌ์ง์ ๋ณผ ์ ์๋๋ฐ์!
์ฐ๋ฆฌ๊ฐ ํํ ์๊ณ ์๋ UIView ์๋์ธต์ UIWindow๋ผ๋ ์น๊ตฌ๊ฐ ์์ต๋๋ค!
UIWindow - UIView - UIComponents ๊ตฌ์กฐ๋ก ๋์ด์๋ค์!
UIwindow ๋ ๊ฑฐ๊ธฐ ์์๊ตฌ๋?ใ ใ
UIWindow๋?
๋ ๊ถ๊ธํ๋๊น ๋ฐ๋ก ๊ณต์๋ฌธ์์ ๊ฒ์ํด ๋ด ์๋ค!

์ค UIView๋ฅผ ์์ํ๊ณ ์๋ค์!
์์ ์ฌ์ง์ ๋ณด์์ ๋๋ UIView๋ณด๋ค ์์ ๊ฐ๋ ์ด๋ผ๊ณ ์๊ฐ์ด ๋ค์๋๋ฐ
์๋์๋ค์!
์ฃผ์ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด๋ฉด
UIWindow๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ด๋ จ ๋ฐฐ๊ฒฝ๊ณผ ์ด๋ฒคํธ๋ฅผ ํ๋ฉด์ ์ ๋ฌํ๋ ์ญํ ์ด๋ค.
UIWindow๋ ์ปจํ ์ธ ๋ฅผ ์ฑํ๋ฉด์ ์ถ๋ ฅํ ๋ ๊ธฐ๋ณธ์ฐฝ์ ์ ๊ณตํ๋ค.
ํ์ํ ๊ฒฝ์ฐ ์ถ๊ฐ ์ปจํ ์ธ ๋ฅผ ํ์ํ ๊ฒฝ์ฐ ์ฐฝ์ ์ถ๊ฐํ๋ค.
์ด๋ฐ ์ฃผ์ ์ญํ ๋ง๊ณ ๋
ํ๋ฉด์ z์ถ ์์น๋ฅผ ์กฐ์ ํ๋ค.
ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ณ ํค๋ณด๋ ์ด๋ฒคํธ์ ๋์์ผ๋ก ๋ง๋ ๋ค.
ํ๋ฉด์ ์ขํ๊ฐ์ window ์ขํ๊ณ๋ก ๋ฐ๊พธ๊ฑฐ๋, ๊ทธ ๋ฐ๋๋ก ๋ฐ๊พผ๋ค.
๋ฃจํธ ํ๋ฉด์ ๋ฐ๊พผ๋ค.
์ฐฝ์ด ํ์๋๋ ํ๋ฉด์ ๋ฐ๊พผ๋ค.
์ด๋ ๊ฒ ์ค์ํ ์ญํ ์ธ๋ฐ
๊ทผ๋ฐ ์ UIWinodw์ ๋ํด ์ด๊ธฐ์ค์ ์ ํด์ค ํ์๊ฐ ์์์๊น์?
๋ฐ๋ก ํ๋ก์ ํธ ์ฒ์ ์์ฑ ์ ์คํ ๋ฆฌ๋ณด๋๊ฐ ์์ฑ์ด ๋๋๋ฐ
์ด ์คํ ๋ฆฌ๋ณด๋๋ฅผ ์ฌ์ฉํด์ ์๋์ผ๋ก ์ค์ ์ ํด์ฃผ๋ ๊ฑฐ์์ต๋๋ค!

๊ทธ๋ฐ๋ฐ ์ ๋ฒ ์๊ฐ์ฒ๋ผ ์คํ ๋ฆฌ๋ณด๋ ์์ค๋ค๋ฉด..
์๋์ผ๋ก ์ค์ ๋๋ UIWindow๊ฐ ์ฌ๋ผ์ก์ผ๋
Appdelgate์ ์๋ window๋ฅผ ์ค์ ํด ์ฃผ์ด์ผ ํ๋๊ฒ์ด์ฃ !
makeKeyAndVisible์ด๋?
์คํ ๋ฆฌ๋ณด๋ ์์ด ํ๋ฉด์ ์ฐ๊ฒฐํด์ฃผ๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
window?.rootViewController = ViewController()
window?.makeKeyAndVisible()
}
๋ง์ง๋ง์ makeKeyAndVisible()์ด๋ผ๋ ๋ฉ์๋๊ฐ ์์ต๋๋ค.
์ด์น๊ตฌ๋ ์์๋ด์ผ๊ฒ ์ฃ ?

๊ณต์๋ฌธ์์๋ window๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์ด๊ฒ์ key window๋ก ๋ง๋ค์ด ์ค๋ค ๋ผ๊ณ ์ค๋ช ๋์ด ์์ต๋๋ค.
key window๋ window๊ฐ ์ฌ๋ฌ๊ฐ์ผ ๊ฒฝ์ฐ ๋งจ ์์ ์๋ window๋ฅผ ๋งํฉ๋๋ค.
๊ทธ๋์ ๊ณผ์ ์ ์ดํด๋ณด๋ฉด
window์ rootViewController ์ค์ -> makeKeyAndVisible()
์ด ๊ณผ์ ์ ํตํด ์คํ ๋ฆฌ๋ณด๋์ window ์ค์ ์ ๋์ ํด ์ฃผ๊ณ
์คํ ๋ฆฌ๋ณด๋ ์์ด ํ๋ฉด์ ์ถ๋ ฅํ ์ ์๋๊ฒ์์ต๋๋ค.
์ค๋์ ๊ถ๊ธํด ํ๋ UIWindow์ makeKeyAndVisible()๋ฉ์๋๋ฅผ ๋ง๋ค์์ต๋๋ค.
UIwindow์ ์ค์ํ ์ญํ ์ ๋ค์ํ๋ฒ ์๊ฒ ๋์๋ค์!ใ ใ
์ค๋๋ ๊ธ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์๋ !~~
'iOS > UIKit' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [iOS/UIKit] Auto Layout - Priority ์ฌ์ฉํ๊ธฐ (0) | 2022.11.21 |
|---|---|
| [iOS/UIKit] Auto Layout - Multiplier ์ฌ์ฉํ๊ธฐ (0) | 2022.11.19 |
| [iOS/UIKit] Auto Layout - Equal ์ฌ์ฉํด๋ณด๊ธฐ (0) | 2022.11.18 |
| [iOS/UIKit] AutoLayout์ ๋ฌด์์ธ๊ฐ? (0) | 2022.11.17 |
| [iOS/UIKit] ์คํ ๋ฆฌ๋ณด๋(storyboard)์์ด ์ฝ๋๋ก ์ฒ์ ํ๋ฉด ์ฐ๊ฒฐํ๊ธฐ (0) | 2022.09.07 |
- Total
- Today
- Yesterday
- Unit Test
- ios
- ๊ณต๋ถ
- swift ํ๋กํ ์ฝ
- Swift Network
- Clean
- observable
- ์ค์ํํธ ํ๋กํ ์ฝ
- ํ๋กํ ์ฝ
- RX
- func
- autolayout
- test
- network
- ์ค์ํํธ map
- ์คํ ๋ ์ด์์
- ํ๋กํผํฐ
- RxSwift
- swift
- swift urlsession
- ํ ์คํธ
- ์ค์ํํธ
- Property
- swift ๊ณต๋ถ
- Protocol
- ์ค์ํํธ ๊ณต๋ถ
- URLSession
- xcode
- XCTest
- set
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |