- Published on
๐ฑ iOS - View Controller์ Life Cycle
- Authors
- Name
- ์ด์ฐฝ์ค
์ค๋์ ๋ฉด์ ์ ๋ณผ ์ผ์ด ํ๋ ์์๋๋ฐ์.. ๋๋ต์ ์ ๋๋ก ๋ชปํด์ ๋๋์๋ง์ ํฉ๊ธํ๊ฒ ๊ณต๋ถํ๋ ค๊ณ ์์ฑํด๋ ๋ชฉ๋ก๋ค์ ์ด์ด๋ณด์์ต๋๋ค. ์ ๋ถ ๋ค ์๋๋ผ๊ณ ์.. ใ ใ ;; ๊ณต๋ถ๋ฅผ ์ข ๋ ์ด์ฌํ ํ์ผ๋ฉด ๋ต ํ ์ ์์์ํ ๋ฐ ์์ฝ๋ค์..
๊ทธ๋์ ์ค๋์ ๊ทธ ์ค์ ํ๋์๋ View Controller์ Life Cycle์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค.
View Controller์ Life Cycle
View Controller๋ ๋ค๋ฅธ ๋ชจ๋ ๊ฐ์ฒด๋ค์ฒ๋ผ init
๊ณผ deinit
๊ณผ์ ์ ๊ฑฐ์ณ์ผํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ Life Cycle์ ํด๋น๋๋ ๋ด์ฉ ์ค ์ด๋ค ๊ฒ์ ์ ํฌ์๊ฒ ์์ฃผ์์ฃผ ์ต์ํ ๋ชจ์ต์ด์ฃ .
View Controller ํ์ผ์ ์ฒ์ ๋ง๋ค๋ฉด ๋ณดํต ์๋์ ๊ฐ์ด ์ฝ๋๊ฐ ์๋์ผ๋ก ์ ๋ ฅ๋์ด ์์ต๋๋ค. ๋๋ฌด ์ต์ํ ์น๊ตฌ์ฃ ?
import UIKit
class HomeViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
}
๋ง ๊ทธ๋๋ก View๊ฐ Load ๋ ๋ ์คํ๋๋ ์ฝ๋์ธ๋ฐ์, View Controller์ Life Cycle์๋ ์ด viewDidLoad
์ธ์๋ ๋ง์ ํจ์๋ค์ด ์์ต๋๋ค.
์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ฉ์๋๋ค์ ์ด๋ฆ๋ค์ด ์ง๊ด์ ์ผ๋ก ๋ช ๋ช ๋์ด ์๋ ๊ฑธ ๋ณผ ์ ์๋ค์. ๊ทธ๋ผ ํ๋ํ๋ ์ดํด๋ด ์๋ค. ๋ณ ๊ฑฐ ์๋ต๋๋ค!
viewDidLoad
๊ฐ์ฅ ์ต์ํ ์น๊ตฌ๋ถํฐ ์์๋ด
์๋ค. ์ ํ์ ์ค๋ช
์ ๋ฐ๋ฅด๋ฉด viewDidLoad
๋
Controller์ View๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ํ์ ํธ์ถ๋ฉ๋๋ค.
๋ผ๊ณ ํฉ๋๋ค. View๋ฅผ ํํํ๋ ค๋ฉด ์ฐ์ ๋ก๋ํด์ผํ๊ณ , ๋ฉ๋ชจ๋ฆฌ์ ๋ฆฌ์์ค๋ฅผ ์ฌ๋ ค์ฃผ์ด์ผ ํ๊ฒ ์ฃ . ํด๋น ๊ณผ์ ์ด ๋ชจ๋ ๋๋ ํ์ ์๋์ผ๋ก ํธ์ถ๋๋ ๋ฉ์๋๊ฐ ๋ฐ๋ก viewDidLoad
์ธ ๊ฒ์
๋๋ค.
๊ทธ๋์ ๋ณดํต viewDidLoad
์์๋ ํ๋ฉด์ ํ์ํ ๋ฐ์ดํฐ๋ค์ ๋ก๋ํ๊ฑฐ๋ View๊ฐ ๋ก๋๋ ํ ๋ฑ ํ ๋ฒ๋ง ์คํํด์ผ ํ๋ ์ฝ๋๊ฐ ์์ ๊ฒฝ์ฐ ์ด ๊ณณ์์ ํธ์ถํ๋ฉด ๋ฉ๋๋ค.
viewWillAppear
View๊ฐ ๋ก๋๋ ํ์๋ ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊น์?
๋ฐ๋ก viewWillAppear
๊ฐ ํธ์ถ๋ฉ๋๋ค. View๊ฐ ํ๋ฉด์ ๋์์ง๊ธฐ ์ง์ ์ ํธ์ถ๋๋ ๋ฉ์๋์ธ๋ฐ์, viewDidLoad
์ ํธ์ถ ์์ ์ด ๊ต์ฅํ ์ ์ฌํด๋ณด์
๋๋ค.
ํ์ง๋ง Appear์ Load๋ผ๋ ๋ช
ํํ๊ฒ ๋ค๋ฅธ ์์ ์ ๊ฐ๊ณ ์๋ ๋งํผ ์์ฃผ ํฐ ์ฐจ์ด๊ฐ ์์ต๋๋ค. viewDidLoad
๋ View๊ฐ ๋ก๋๋ ํ ๋ฑ ํ ๋ฒ๋ง ํธ์ถ๋๊ธฐ ๋๋ฌธ์, ์ฌ๋ฌ View๋ฅผ ๋ก๋ํ๊ณ ์๋ก๋ฅผ ์ค๊ฐ๋๋ ํธ์ถ๋์ง ์์ต๋๋ค. ๋ฐ๋ฉด viewWillAppear
๋ ์ฌ๋ฌ View๋ฅผ ์ค๊ฐ ๋๋ ์ด์จ๋ ํ๋ฉด์ ๋์์ง๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ํธ์ถ๋ฉ๋๋ค.
๋ฐ๋ผ์ View๊ฐ ํ๋ฉด์ ๋ฐ ๋๋ง๋ค ์ํ๋์ด์ผ ํ๋ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด viewWillAppear
์ ๊ตฌํํด์ฃผ๋ฉด ๋ฉ๋๋ค!
viewDidAppear
viewDidAppear
๋ ๋ง ๊ทธ๋๋ก View๊ฐ ํ๋ฉด์ ๋์์ง ์งํ์ ํธ์ถ๋ฉ๋๋ค. View๊ฐ ํ๋ฉด์ ๋์์ง ๋๋ง๋ค ์ํ๋์ด์ผ ํ ํ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ด ์๋ค๋ฉด ๋ฐ๋ก ์ฌ๊ธฐ์ ๊ตฌํํด์ฃผ๋ฉด ๋ฉ๋๋ค.
viewWillDisappear / viewDidDisappear
์ฌ์ค ์์ viewWillAppear
์ viewDidAppear
๋ฉ์๋๋ฅผ ์ดํดํ์
จ๋ค๋ฉด, ์ด ๋ ๋ฉ์๋๋ ๋ฝ๋์ค์
๋๋ค. View๊ฐ ์ฌ๋ผ์ง ๋๋ง๋ค ๋์ผํ ๋ฐฉ์์ผ๋ก ํธ์ถ๋๋ ๋ฉ์๋์ด๊ธฐ ๋๋ฌธ์ด์ฃ .
Reference