iPhone Application Building Scene

  1. 씬(Scene)이란? iPhone Application에서 화면 단위를 의미하며, 화면 구성은 인터페이스 빌더인 Storyboard와 코드로 작성하는 ViewController로 한다.
  2. 씬(Scene) 구성
    1. View : 콘텐츠 표시
    2. UIView : 콘텐츠 출력용 뷰
    3. UIControl : 사용자 입력 가능한 컨트롤
    4. UIViewController : 뷰 컨트롤러
  3. 씬(Scene) 작성
    1. Storyboard를 이용한 씬을 작성하는 경우는 인터페이스 빌더로 작성하며 동적인 변경은 불가능하다.

    2. ViewController를 이용한 씬을 작성하는 경우는 코드로 작성하며 동적인 변경이 가능하나 Storyboard로 작성하는 것만큼 편리하지 않다.

      1. 씬(Scene) 생명 주기
        1. 생명주기는 아래의 메소드 순으로 실행
          1. func viewDidLoad() : View가 로드된 후에 불려진다.
          2. func viewWillAppear(_ animated : Bool) : View가 만들어진 후에 불려진다.
          3. func viewWillLayoutSubViews() : View가 구성된 후 Screen에 나타날 때 불려진다.
          4. func viewDidLayoutSubViews() : View 내에 SubView를 호출하기 위한 레이아웃 반영 시에 불려진다.
          5. func viewDidAppear(_ animated : Bool) : View 내에 SubView를 호출하기 위한 레이아웃 반영 후에 불려진다.
          6. func viewWillDisappear(_ animated : Bool) : View가 사라지거나 다른 View로 대체될 시점에서 불려진다.
          7. func viewDidDisappear(_ animated : Bool) : View가 사라지거나 다른 View에 대체된 다음에 불려진다.
        2. 위 생명 주기에서 뷰 구조를 다루기 적당한 생명 주기는 View를 로드된 후인 viewDidLoad 메소드이다.
  4. 아웃렛 : Storyboard의 장점은 개발자가 원하는 대로 화면을 구성할 수 있다는 점이고, ViewController의 장점은 동적인 변경이 가능하다는 점으로 이를 가능하게 만드는 것이 아웃렛이다.
    1. 아웃렛은 뷰와 코드(프로퍼티)를 연결한다.

    2. Storyboard에 있는 뷰와 ViewController에서 연결된 뷰는 프로퍼티에 @IBOutlet 지시자가 붙게된다.
    3. 아웃렛 연결 정보
      1. ViewController에 에디터 왼쪽에 원으로 나타나며, 채워진 원은 뷰와 연결된 아웃렛이고, 빈 원은 뷰와 연결되지 않은 아웃렛이다.

    4. Storyboard에 작성된 Outlet 정보와 코드가 달라서 에러가 발생하는 경우는 Storyboard에서 에러난 뷰의 아웃렛 연결 정보를 삭제한다.

 출처 : https://tacademy.skplanet.com/