Patrick's 데이터 세상

iOS - 앱 구조와 스토리보드 본문

Programming/Swift

iOS - 앱 구조와 스토리보드

patrick610 2020. 6. 24. 21:47
반응형
SMALL

앱을 구성하는 객체


   시스템 객체

      자동 생성
      시스템 관련 동작
      코드 수정 불가
      UIApplication, UIWindow


   커스텀 객체

      업무 관련 동작 작성
      개발자 작성, 수정 가능
      ApplicationDelegate, ViewController, Model


   애플리케이션 객체

      시스템 객체 : 애플리케이션(UIApplication)
      앱의 시작과 함께 자동 생성
      유일한 객체 존재
      객체 얻기


       역할

         애플리케이션의 고수준 행위
         컨트롤 객체에서 이벤트 처리 배치
         푸쉬/로컬 노티
         앱 URL과 앱 전환


   애플리케이션 델리게이트

      UIApplicationDelegate 프로토콜
      프로젝트 생성 시 AppDelegate 클래스
      애플리케이션 델리게이트 객체도 유일하게 존재
 

      역할

         앱의 상태 변환
         푸쉬/로컬 노티 다루기
         URL을 이용한 앱 오픈
        앱 공유 데이터 저장 용도로 사용 가능


   윈도우 : UIWindow

      시스템 객체
      화면에 출력되는 뷰를 조율
      대부분 1개의 윈도우 객체, 외부 스크린이 있으면 추가 윈도우 객체
      루트 뷰 컨트롤러 : 윈도우에 뷰를 제공하는 뷰 컨트롤러



   앱의 주요 상태

      동작 안 함(Not running)
      포그라운드(Foreground)
      백그라운드(Background)
      서스펜디드(Suspended)


      포그라운드

         앱이 화면에 나타나고 동작 중인 상태


         Active

            사용자 이벤트 전달

         Inactive

            사용자 이벤트 전달 안됨
            다른 코드 동작 중(예: 컨트롤 센터, 알림 센터)
            포그라운드와 백그라운드 전환 중인 상태


      백그라운드

         사용자가 홈 버튼을 눌러서 화면에 앱이 보이지 않는 상태
         백그라운드 동작 : 음악 재생, GPS, voip 등 제한된 동작 수행 가능
         서스펜디드 상태로 전환되는 중간 단계로 앱 상태 저장


      서스펜디드

         메모리에 존재하지만 동작 중이 아닌 상태


   앱의 상태 전환

      UIApplicationDelegate

* 첫 구동
func applicationDidFinishLaunching(_ application: UIApplication)

* 포그라운드(foreground)
func applicationDidBecomeActive(_ application: UIApplication)

* 백그라운드(background)
func applicationDidEnterBackground(_ application: UIApplication)


* 포그라운드, 백그라운드 상태 전환 과정, Inactive
func applicationWillEnterForeground(_ application: UIApplication)
func applicationWillResignActive(_ application: UIApplication)

* 앱 종료(Suspended 상태에서 종료시 동작 안함)
func applicationWillTerminate(_ application: UIApplication)




스토리보드

 

   개별 씬

      뷰 구조와 속성
      리소스
      상호 동작


   씬 전환

      세그웨이(segue)

 

   씬 식별 정보

      뷰 컨트롤러의 식별 인스펙터
      Class : 뷰 컨트롤러의 클래스
      Storyboard ID : 뷰 컨트롤러의 ID
      Restoration ID : 앱의 상태 저장/복원 시 사용 ID
      Label : 스토리보드 내 표시

 

   스토리보드에 작성하는 것들

      시작 씬 → 세그웨이


    시작 씬

        스토리보드 내 시작 씬
        하나의 스토리보드에서 유일
        화살표로 씬 지정
        시작 씬이 없으면 검은 화면과 경고 문구


      세그웨이(segue)


         씬과 씬의 연결 정보
         씬의 전환 정보


         1개의 스토리보드로 작업하기
         스토리보드 분리하기
         스토리보드 레퍼런스 : 다른 스토리보드 내 객체 참조

 

 

반응형
LIST

'Programming > Swift' 카테고리의 다른 글

IOS - Realm 모바일 데이터베이스  (0) 2020.06.24
iOS - 씬 구조와 모달  (0) 2020.06.24
iOS - 목록형 씬  (0) 2020.06.24
iOS - 스크롤 뷰  (0) 2020.06.23
iOS - 다이얼로그와 피커  (0) 2020.06.23
Comments