🔨 개발/📱 swift

swift를 이용한 iOS 앱 개발 입문 1: 각 파일들의 역할

해풀 2024. 8. 3. 19:27

swift를 배워보자
swift를 배워보자

swift를 이용한 iOS 앱 개발 입문 1: 각 파일들의 역할

Xcode로 프로젝트를 생성하고 난 뒤, 친절한 튜토리얼을 찾기 어려워서 스스로 정리해 보기로 결심했다.

 

프로젝트를 생성하면, AppDelegate.swift, SceneDelegate.swift, LaunchScreen.storyboard, ViewController.swift 와 같은 파일들이 같이 생성된다. 각 파일들의 역할을 간략하게 짚고 넘어가자.

 

1. AppDelegate.swift

'AppDelegate.swift' 파일은 앱의 생명 주기를 관리하는 핵심 파일이다. 앱의 시작, 상태 전환, 종료 등의 주요 이벤트를 처리한다.

주요 역할

1. 앱이 시작될 때 초기 설정

2. 푸시 알림 처리

3. 백그라운드 및 포어그라운드 상태 전환 처리

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    // 앱 시작 시 호출
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // 초기화 코드
        return true
    }
    
    // 앱이 백그라운드로 전환될 때 호출
    func applicationDidEnterBackground(_ application: UIApplication) {
        // 백그라운드 전환 시 작업
    }
    
    // 앱이 포어그라운드로 돌아올 때 호출
    func applicationWillEnterForeground(_ application: UIApplication) {
        // 포어그라운드 복귀 시 작업
    }
}

 

2. SceneDelegate.swift

'SceneDelegate.swift' 파일은 iOS 13 이후 도입된 멀티 윈도우 및 멀티 씬 지원을 위한 파일로 각 씬의 생명 주기를 관리한다.

주요 역할

1. 씬 생성 및 파괴 처리

2. 씬의 활성화 및 비활성화 상태 관리

3. UI 상태 복원 및 유지

class SceneDelegate: UIResponder, UIWindowSceneDelegate {
    var window: UIWindow?

    // 씬이 활성화될 때 호출
    func sceneDidBecomeActive(_ scene: UIScene) {
        // 씬이 활성화될 때 작업
    }
    
    // 씬이 비활성화될 때 호출
    func sceneWillResignActive(_ scene: UIScene) {
        // 씬이 비활성화될 때 작업
    }
}

 

3. LaunchScreen.storyboard

'LaunchScreen.storyboard' 파일은 앱이 실행될 때 처음으로 보여지는 화면을 정의한다. 이 화면은 앱이 실제로 로드되기 전에 사용자에게 표시되며, 스플래시 화면으로 사용됨.

주요 역할

1. 앱이 로드될 때 사용자에게 보여지는 초기 화면 디자인

2. 초기 로딩 시간을 감추기 위해 간단한 이미지나 로고 표시

 

4. ViewController.swift

'ViewController.swift' 파일은 기본적으로 생성되는 뷰 컨트롤러로, 앱의 첫 번째 화면을 관리한다. 뷰의 로드 및 사용자 인터페이스 이벤트를 처리.

주요 역할

1. 뷰 로드 시 초기화 작업

2. 사용자 상호작용 처리 및 UI 업데이트 관리

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        // 뷰가 로드될 때 초기화 작업
    }
}

 

간단히 정리하면, .storyboard 파일은 UI를 그리는 html+css 같은 역할을, viewcontroller.swift 파일은 액션을 정의하는 javascript와 유사하다고 이해하였음.

728x90