Life Cycle
Life Cycle을 아래의 사진과 같이 게임을 하던 중 전화가 온 상황을 예로 들어보자.
[사진에 대한 설명]
게임을 하던 중 전화가 왔다면 전화를 받기 전의 시점에 게임에서는 게임 자체의 데이터에 무슨 행위를 했을 것이다. 그게 바로 데이터 저장이다. 여기서 말하는 데이터는 현재 몇 Stage이 인가? / 현재 HP는 얼마인가? / 현재 Score는 몇점인가? 등등이다.
그 후 전화를 받고 통화를 일정 시간동안 하다가 게임으로 돌아오기 직전 시점에 게임에서는 저장한 데이터를 불러온다.
위의 설명에서 나는 2가지를 강조했다.
전화를 받기전에서는
- 전화를 받기 전의 시점 (시점)
- 데이터를 저장하기. (로직 실행)
전화를 종료하고 게임을 다시 돌아올 때에서는
- 게임으로 돌아오기 직전 시점 (시점)
- 데이터를 불러온다. (로직 실행)
즉, 공통된 2개를 강조했는데 강조한 이유는 시점, 로직 실행 이 2가지로 Life Cycle을 설명할 수 있기 때문이다.
Life Cycle이란 언제(시점)?라는 질문에 "어디(여기서 어디는 코드를 작성하는 곳:로직 실행)에 하면 된다." 라는 답변을 주는 것
우리가 공부하는 iOS의 대표적인 Life Cycle은 App Life Cycle / Scene Life Cycle / View Life Cycle가 있다.
Life Cycle이 필요한 이유 : 웹에 비해서 나타낼 수 있는 정보량 제한이 있기 때문에 정보량을 효과적으로 나타내기 위해서
간단한 문법정리
서브 스크립트
- "점찍고" , "구성요소"
Ex) Stotyboard의 특정 메서드를 실행한 결과를 VC에 할당한다.
let VC = Stotyboard?.특정메서드()
옵셔널
- 값이 있을 수도 있고 값이 없을(nil) 수도 있는 Type
- 왜 쓸까? Swift는 Safe
language이기 때문에 Optional로 안정성을 보완한다.
MVC