ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

์•ˆ๋…•ํ•˜์„ธ์š”?

๋„ˆ๊ตฌ๋ฆฌ์ž…๋‹ˆ๋‹ค :)

 

 

์ €๋ฒˆ์‹œ๊ฐ„์— ์Šคํ† ๋ฆฌ๋ณด๋“œ์—†์ด ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„ ๋ณด์•˜๋Š”๋ฐ์š”!

๊ฑฐ๊ธฐ์„œ ์ œ๊ฐ€ ๊ถ๊ธˆํ•ดํ–ˆ๋˜

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์˜ ์ค‘์š”ํ•œ ์—ญํ• ์„ ๋‹ค์‹œํ•œ๋ฒˆ ์•Œ๊ฒŒ ๋˜์—ˆ๋„ค์š”!ใ…Žใ…Ž

์˜ค๋Š˜๋„ ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

์•ˆ๋…•!~~

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2026/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
๊ธ€ ๋ณด๊ด€ํ•จ