iOS 캠프 TIL - 2021.01.14 목

Updated:

캠프 공지

  • TIL이나 블로그 포스팅에 남의 글이나 그림을 불펌하지 않고, 원작자에게 허락받고 출처를 남기기
  • 이제부턴 스텝별로 리뷰어가 다른게 아니라, 프로젝트당 팀별로 리뷰어가 지정된다
  • 팀프로제트는 팀으로만 PR을 받는다

강의 - iOS Application Life Cycle

  • Foreground Inactive
    • 알림창 내렸을 때
    • 시스템 알림 뜰 때
    • 멀티태스킹(앱스위칭) 기능

학습 활동

  1. iOS 13에서 Scene Delegate로 이관된 App Delegate의 역할은 무엇무엇이 있을까?
    • UILIfeCycle
      • Entered Foreground (willEnteredForeground, didEnterBackground)
        • 앱이 Foreground/Background로 될 때 처리해야할 일
      • Became Active (willResignActive, didBecomeActive)
        • 앱이 Active/Inactive 될 때 처리해야 할 일
  2. App Delegate와 Scene Delegate의 각각의 역할은 무엇일까?
    • AppDelegate
      • Process Lifecycle
      • Session Lifecycle <-> Scene
      • 앱의 데이터 구조를 초기화
      • 앱의 엔트리포인트를 제공한다
    • SceneDelegate
      • UI의 생명주기 관리
  3. Scene의 개념이 생긴 이유는 무엇이고, 언제 어디서 활용해볼 수 있을까?
    • 멀티윈도우 환경을 위한 구조적 변화
    • iPad 멀티 윈도우 지원
    • 카플레이 등 외부 디스플레이 지원
  4. Life Cycle에서 Unattached, Suspended, Not Running의 메모리와 프로세스의 관점에서의 차이는 무엇일까?
    • Unattached: 씬이 연결되지 않은 상태
    • Suspended:
    • Not Running: 앱이 실행하지 않은상태, 메모리점유X
  5. App Life Cycle 모식도의 점선과 실선의 차이는 무엇일까?
    • 점선: 시스템이 해주는 이동
    • 실선: 유저 행동에따른 이동

DispatchQueue

  • 야곰닷넷 - GCD, DispatchQueue 관련 질문
    • DispatchQueue.global() 으로 생성하는 방법과 DispatchQueue.init() 으로 label 을 설정하여 생성하는 방법의 차이
  • GCD에서 제공하는 큐의 타입
    • Main큐: (Serial) 메인스레드에서 작동하는 큐.
    • Global큐: (Concurrent)우선순위에 따라 4개가 존재함. (high, default, low, background)
    • Custom큐: 커스텀으로 만드는 큐. Serial일수도, Concurrent일 수도 있다. 여기에 추가된 작업은 결국 Global큐에서 수행함
    • 출처: https://rhammer.tistory.com/324 [고무망치의 Dev N Life]

Leave a comment