iOS

[iOS] viewController Life Cycle ์ƒ๋ช…์ฃผ๊ธฐ

Forest Yun 2022. 3. 20. 23:16
728x90

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

 

 

 

UIViewController๋Š” ๋ทฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ์ด๋ฒคํŠธ์™€ ๊ด€๋ จํ•ด ๋ทฐ์— ์‘๋‹ตํ•˜๋Š” ๋ฉ”์„œ๋“œ๋“ค์ด ์ •์˜๋˜์–ด ์žˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋“ค์€ view Controller์— ์˜ํ•ด ๋ถˆ๋Ÿฌ์ ธ์•ผํ•˜๋Š” ์ˆœ๊ฐ„์— ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณ€ํ™”์— ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋‹ค. UIViewController๋ฅผ ์ƒ์†๋ฐ›๋Š” ๊ฒฝ์šฐ ์ด ๋ฉ”์„œ๋“œ๋“ค์„ ์˜ค๋ฒ„๋ผ์ด๋“œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด ๋ทฐ ๋ณ€ํ™”๋งˆ๋‹ค ์ทจํ•  ์•ก์…˜์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๋ทฐ์˜ ์ƒํƒœ

  • Appearing : ๋ทฐ๊ฐ€ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๋Š” ์ค‘
  • Appreared : ๋ทฐ๊ฐ€ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜๋Š” ๊ฒƒ์ด ์™„๋ฃŒ๋œ ์ƒํƒœ
  • Disappearing : ๋ทฐ๊ฐ€ ํ™”๋ฉด์—์„œ ์‚ฌ๋ผ์ง€๋Š” ์ค‘
  • Disappreared : ๋ทฐ๊ฐ€ ํ™”๋ฉด์—์„œ ์‚ฌ๋ผ์ง„ ์ƒํƒœ

 

 

 

 

LifeCycle ๋ฉ”์„œ๋“œ

ํ˜ธ์ถœ ์ˆœ์„œ

1. viewDidLoad()2. viewWillAppear3. viewDidAppear4. viewWillDisappear5. viewDidDisappear

 

 

1. func viewDidLoad()

  • viewController์˜ ๋ชจ๋“  ๋ทฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์—ˆ์„ ๋•Œ ํ˜ธ์ถœ๋œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ๋‹ค์Œ ๋ทฐ์—์„œ ์ด์ „ ๋ทฐ๋กœ ๋Œ์•„์˜ฌ ๋•Œ๋Š” ์ด๋ฏธ ๋ทฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋œ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋•Œ๋Š” ํ˜ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค.
  • ๋ณดํ†ต ํ•œ ๋ฒˆ ํ˜ธ์ถœ๋  ์•ก์…˜๋“ค์ด ์ด ๋ฉ”์„œ๋“œ์— ์ •์˜๋œ๋‹ค.
  • ์˜ˆ) ๋ทฐ์™€ ๊ด€๋ จ๋œ ์ถ”๊ฐ€์ ์ธ ์ดˆ๊ธฐํ™” ์ž‘์—…, ๋„คํŠธ์›Œํฌ ํ˜ธ์ถœ๊ณผ ๊ฐ™์€ 1ํšŒ์„ฑ ์ž‘์—…

 

 

2. func viewWillAppear(_ animated: Bool)

  • ViewController์˜ ๋ทฐ๊ฐ€ ๋ทฐ ๊ณ„์ธต์— ์ถ”๊ฐ€๋˜๊ณ  ํ™”๋ฉด์ด ๋ณด์ด๊ธฐ ์ง์ „์— ํ˜ธ์ถœ๋œ๋‹ค.
  • ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๋ณด์—ฌ์ง€๊ธฐ ์ „์— ํ˜ธ์ถœ๋œ๋‹ค.
  • ๋‹ค๋ฅธ ๋ทฐ๋กœ ์ด๋™ํ–ˆ๋‹ค ๋Œ์•„์˜ค๋ฉด ๋‹ค์‹œ ํ˜ธ์ถœ๋œ๋‹ค.
  • ์˜ˆ)๋ทฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•œ ์ปค์Šคํ…€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ

 

 

3. func viewDidAppear(_ animated: Bool)

  • ViewController์˜ ๋ทฐ๊ฐ€ ๋ทฐ ๊ณ„์ธต์— ์ถ”๊ฐ€๋˜์–ด ํ™”๋ฉด์— ๋ณด์ธ ํ›„ ํ˜ธ์ถœ๋œ๋‹ค.
  • ์˜ˆ) ๋ทฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•œ ์ถ”๊ฐ€์ ์ธ ์ž‘์—… ์ˆ˜ํ–‰
  • ์˜ˆ) ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ์‹œ์ž‘ํ•˜๋Š” ์ž‘์—… ์ˆ˜ํ–‰

 

 

4. func viewWillDisappear(_ animated: Bool)

  • View Controller์˜ ๋ทฐ๊ฐ€ ๋ทฐ ๊ณ„์ธต์—์„œ ์‚ฌ๋ผ์ง€๊ธฐ ์ „์— ํ˜ธ์ถœ๋œ๋‹ค.
  • ์• ๋‹ˆ๋ฉ”์ด์…˜์ด ๊ตฌ์„ฑ๋˜๊ธฐ ์ „์— ํ˜ธ์ถœ๋œ๋‹ค.
  • ์˜ˆ) ๋ทฐ๊ฐ€ ์ฒ˜์Œ ๋ณด์—ฌ์กŒ์„ ๋•Œ viewDidAppear(_:)์—์„œ ์ž‘์—…๋œ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋˜๋Œ๋ฆด ๋•Œ ์‚ฌ์šฉ
  • ์˜ˆ) ์ตœ์ข…์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉ

 

 

5.  func viewDidDisappear(_ animated: Bool)

  • ViewController์˜ ๋ทฐ๊ฐ€ ๋ทฐ ๊ณ„์ธต์—์„œ ์‚ฌ๋ผ์ง„ ํ›„ ํ˜ธ์ถœ๋œ๋‹ค.
  • ์˜ˆ) ๋ทฐ๋ฅผ ์‚ฌ๋ผ์ง€๊ฒŒ ํ•˜๊ฑฐ๋‚˜ ์ˆจ๊ธฐ๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•œ ์ถ”๊ฐ€์ ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ

 

 

+

Layout Subviews ๊ด€๋ จ ๋ฉ”์„œ๋“œ

 

[ iOS ] layout subviews๊ด€๋ จ ๋ฉ”์„œ๋“œ - viewWillLayoutSubviews, layoutSubviews, viewDidLayoutSubviews

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋‚˜: ๋‚ด๊ฐ€ ์ดํ•ดํ•œ ๋‚ด์šฉ layout subviews ๊ด€๋ จ ๋ฉ”์„œ๋“œ layout subviews๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ž€? layout subViews ๊ด€๋ จ ๋ฉ”์„œ๋“œ ์ข…๋ฅ˜ 1. layout subviews๊ด€๋ จ ๋ฉ”์„œ๋“œ๋ž€? ViewController๊ด€๋ จ ๋ฉ”..

88yhtserof.tistory.com

 

 

 

 

 

 

Apple Developer Document
ํ•จ๊ป˜ ๋ณด๋ฉด ์ข‹์„ ์•ฑ ์ƒ๋ช…์ฃผ๊ธฐ
ViewController LifeCycle๊ณผ ๊ด€๋ จํ•œ ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ&์ƒ๋ช…์ฃผ๊ธฐํ๋ฆ„์ด๋ฏธ์ง€
728x90