iOS
프로젝트 구성과 스토리보드
Sheep1sik
2023. 4. 12. 18:30
반응형
GGDol_HelloWorld 프로젝트 생성해 보자.
Interface를 보면 두 가지가 있는데 기본적으로 SwiftUI로 기본적으로 설정이 되어 있을 텐데 Storyboard로 선택해 주었다.
이제 만들어진 프로젝트에 탐색기를 통해 프로젝트 구성을 살펴보자.
구성 | 설명 |
AppDelegate | 앱의 가장 중요한 데이터 구조를 초기화하는 것 앱의 scene을 환경설정(Configuration)하는 것 앱 밖에서 발생한 알림(배터리 부족, 다운로드 완료 등)에 대응하는 것 특정한 scenes, views, view controllers에 한정되지 않고 앱 자체를 타겟하는 이벤트에 대응하는 것. 애플 푸쉬 알림 서브스와 같이 실행시 요구되는 모든 서비스를 등록하는것. |
SceneDelegate | 면에 표시되는 내용(Windows 또는 Scenes)들을 처리하고 앱이 표시되는 방식을 관리 |
ViewController | 뷰 컨트롤러를 구현한 클래스 앱은 하나 이상의 화면을 가지는데, 이를 관리하기 위해 사용되는 것이 뷰 컨트롤러다.일반적으로는 화면의 개수만큼 뷰 컨트롤러가 필요하다. View Controller 객체의 상위 클래스는 UIViewController UIViewController는 뷰의 내용을 업데이트하고, 뷰와 사용자의 상호 작용에 응답하고, 기본 데이터의 변경에 대한 응답으로 뷰의 콘텐츠를 업데이트하고, 뷰 크기 조정 및 전체 인터페이스의 레이아웃을 관리 |
Main | 앱의 사용자 인터페이스 설계를 담당 |
LaunchScreen | 유저 인터페이스를 종합적으로 구현하는 역할을 한다 처음 나타나는 시작 화면을 구성하는데 사용 시작화면은 다른 말로 스플래시(Splash)라고도 함 |
Info | 프로젝트의 설정을 담당 |
스토리보드를 사용하면 개별 UI 파일을 이용하여 화면을 구성하는 것에 비해 다음과 같은 이점이 있다
- 스토리보드를 사용함으로써 앱의 화면 전체와 화면 사이 관계를 더 쉽게 파악할 수 있다. 스토리보드는 전체 설계가 파일 하나에 모두 들어있기 때문에 각각의 화면으로 분리된 UI 파일보다 화면의 요소들을 추적하기가 훨씬 더 쉽다.
- 스토리보드는 다양한 화면 사이의 전환을 손쉽게 처리한다. 이러한 전환방식을 세그웨이(Segueway)라고 부르는데, 하나의 뷰 컨트롤러에서 전환하고자 하는 뷰 컨트롤러를 향해 <Ctrl> 키를 누른 상태로 마우스를 드래그하기만 하면 세그웨이가 자동으로 만들어진다. 세그웨이 덕분에 훨씬 더 짧은 코드로 UI를 다룰 수 있다.
- 스토리보드를 이용하면 테이블 뷰를 작업할 때 새로운 프로토타입 셀이나 정적인 셀의 외형을 만드는 것이 매우 쉽습니다. 인터페이스 빌더만을 사용하여 거의 완전한 수준의 테이블 뷰를 만들 수 있으며, 이렇게 작업함으로써 작성해야 하는 코드의 양이 대폭 줄어든다.
만약 인터페이스 빌더를 사용하는 것을 싫어하거나 전체 UI를 직접 그리는 대신 프로그래밍하듯이 코딩으로 만들고 싶다면, 스토리보드는 별 도움이 되지 않을 것이다. 하지만 코드를 될 수 있는 한 짧게 작성하는 것이 유지보수에 좋다고 생각하고, UI에 대해서는 더욱더 그렇게 생각하기 때문에 스토리보드 방식의 화면 설계가 개발 생산성을 매우 높여주는 중요한 기능이라고 생각한다.
반응형