 Apple Lover Developer & Artist

영속적인 디자인에 현대의 공감을 채워넣는 공방입니다

반응형

 Apple/iOS Dev Challenges 34

[Challenge] 화면 전환에 대해 탐구해보자!

Overview 우리가 사용하는 어플리케이션이 하나의 화면에서 동작하는 경우가 흔한 일이 아니다. 다수의 앱은 다양한 형태의 데이터를 보여주기 위해 다양한 화면을 갖고 있으며 각 화면의 뒤에는 개별적인 ViewController 인스턴스가 동작하고 있다. 프로젝트를 구현하면서 ViewController 간의 화면 전환 기능을 활용해야 하는 경우가 많이 있었는데 오늘 간단하게 정리해보고 넘어가보려고 한다. Segue 에 존재하는 타입에 대해 알아본다. 네비게이션 컨트롤러에서 서로 다른 화면간에 segue 를 어떻게 생성하는지 배워본다. navigation 계층을 활용한 좀더 복잡한 UI를 구성해본다. Segue segue 는 하나의 View Controller 에서 다른 View Controller 로의 ..

[Challenge] iOS 13 이후의 Scene 톱아보기!

Overview Scene 은 앱의 UI 인스턴스를 동시에 여러개 관리하며 적절한 UI 인스턴스로 resources 을 연결해준다. UIKit 은 앱의 UI의 각 인스턴스를 UIWindowScene 객체를 통해 관리해준다. 하나의 scene 은 window 와 view controller 를 포함하고 있으며 UI의 한 인스턴스를 보여주기 위해서이다. 각 scene 은 상응하는 UIWindowSceneDelegate 객체를 갖고있으며 UIKit 과 앱 사이에 상호작용을 조직하기 위해 사용할 수 있다. Scene 은 서로 병렬적으로 동작하며 같은 메모리 공간과 앱의 프로세스 공간을 공유한다. 결론적으로 하나의 앱은 여러개의 scene 을 가질 수 있으며 scene delegate 객체는 동시에 활성화된다. ..

[iOS - Laboratory] iOS 앱의 Life Cycle 추적해보기 (iOS 12와 이전 버전)

Overview Managing Your App's Life Cycle 아티클을 읽어보고자 한다. 앞서 포스팅한 글에서 앱이 실행된 후 종료되기까지 다양한 상태를 가질 수 수 있으머 상태 변환은 앱이 종료되거나, 전화가 오는 등의 interruption 이 발생하면 발생될 수 있다는 점을 알 수 있었다. 이 아티클에서는 앱이 foreground 혹은 background 상태에 있을때 시스템의 Notification 에 응답하고 다른 중요한 시스템 관련 이벤트가 있을 때 처리하는 내용이 언급된다. 앱의 현재 상태는 어느 시점에 할 수 있는 일과 할 수 없는 일에 관하여 결정해준다. 예를 들어 foreground 앱은 사용자의 주목을 받있으며 CPU 같은 시스템 자원을 할당받는데 우선순위를 갖는다. 반대로 ..

[iOS - Laboratory] iOS 앱의 실행 흐름 추적해보기

Overview UIKit은 앱에 필요한 다양한 핵심적인 객체를 제공한다. 그 중에는 System과 상호 작용하는 객체, 앱의 main 이벤트 loop에서 동작하는 객체, 컨텐츠를 화면에 보여주는 객체가 포함되어있다. 개발자는 위 객체들 다수를 그냥 사용하거나 약간의 수정을 거쳐 사용할 수 있다. 어느 객체를 수정할 수 있으며 언제 객체들을 수정할 수 있는지 아는 것은 앱을 구현함에 있어서 중요한 요소이다. UIKit app 의 구조는 Model-View-Controller (MVC) 디자인 패턴에 기반하고 있으며 위에서 언급된 객체들은 디자인 패턴에 맞춰서 목적에 알맞게 나뉘어지게 된다. 대표적으로 ViewController 와 app delegate 객체는 데이터 객체와 UIKit View 사이에서 ..

반응형