반응형
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에 대해서는 더욱더 그렇게 생각하기 때문에 스토리보드 방식의 화면 설계가 개발 생산성을 매우 높여주는 중요한 기능이라고 생각한다.
반응형
'iOS' 카테고리의 다른 글
이미지 뷰 앱 만들기 1 (5) | 2023.06.08 |
---|---|
버튼 클릭 시 동작 구현 및 결과 확인 (3) | 2023.06.05 |
아웃렛 변수와 액션 함수 추가하기 (5) | 2023.06.02 |
스토리보드로 앱 화면 꾸미기 (5) | 2023.05.16 |
Swift 프로젝트 설정 (1) | 2023.04.05 |