1. AppDelegate 수정 with 설명

 

// vim AppDelegate.h

#import <UIKit/UIKit.h>

// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. 애플리케이션 딜리게이트 (선언부)
2. 전역변수 , 메소드 , 인스턴스변수 (클래스 생성자) 선언
// -----------------------------------------
*/



// -----------------------------------------
@interface AppDelegate : UIResponder <UIApplicationDelegate>
// -----------------------------------------


// MARK: [전역 변수 및 메소드 선언 부분]


// -----------------------------------------
@end
// -----------------------------------------

 

// vim AppDelegate.m

#import "AppDelegate.h"


// MARK: - [헤더 [선언부] 호출]
@interface AppDelegate ()
@end
@implementation AppDelegate



// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. 애플리케이션 딜리게이트 (구현부)
2. ios 13 이상 사용 : API_AVAILABLE(ios(13.0))
// -----------------------------------------
*/



// MARK: - [앱 프로세스 완료 및 앱 실행 실시]
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions API_AVAILABLE(ios(13.0)){
    // 설명 :: 앱 프로세스 완료 및 앱 실행 실시
    NSLog(@"[AppDelegate >> didFinishLaunchingWithOptions]");
    
    return YES;
}



// MARK: - [Scene 만들기 위한 구성 객체 반환 : 스토리보드 , info]
- (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options API_AVAILABLE(ios(13.0)){
    // 설명 :: Scene 만들기 위한 구성 객체 반환 : 스토리보드 , info
    NSLog(@"[AppDelegate >> configurationForConnecting]");
    return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role];
}



// MARK: - [Scene 구성 객체 해제 실시]
- (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions API_AVAILABLE(ios(13.0)){
    // 설명 :: Scene 구성 객체 해제 실시
    NSLog(@"[AppDelegate >> didDiscardSceneSessions]");
}



// MARK: - [애플리케이션 사용자가 작업 태스크 날린 이벤트 감지]
- (void)applicationWillTerminate:(UIApplication *)application {
    // 설명 :: 애플리케이션 사용자가 작업 태스크 날린 이벤트 감지
    NSLog(@"[AppDelegate >> applicationWillTerminate]");
}



// -----------------------------------------
@end
// -----------------------------------------

 

 

 

 

 

2. SceneDelegate 수정 with 설명

 

// vim SceneDelegate.h

#import <UIKit/UIKit.h>

// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. UI 딜리게이트 (선언부)
2. 전역변수 , 메소드 , 인스턴스변수 (클래스 생성자) 선언
// -----------------------------------------
*/



// -----------------------------------------
@interface SceneDelegate : UIResponder <UIWindowSceneDelegate>
// -----------------------------------------


// MARK: [전역 변수 및 메소드 선언 부분]
@property (strong, nonatomic) UIWindow * window;


// -----------------------------------------
@end
// -----------------------------------------

 

// vim SceneDelegate.m

#import "SceneDelegate.h"


// MARK: - [헤더 [선언부] 호출]
@interface SceneDelegate ()
@end
@implementation SceneDelegate



// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. UI 딜리게이트 (구현부)
2. ios 13 이상 사용 : API_AVAILABLE(ios(13.0))
// -----------------------------------------
*/



// MARK: - [UI창 선택적 구성 및 제공된 UI창에 Scene 연결]
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions API_AVAILABLE(ios(13.0)){
    // 설명 :: UI창 선택적 구성 및 제공된 UI창에 Scene 연결]
    NSLog(@"[Scene 연결] ::: SceneDelegate >> willConnectTo");
}



// MARK: - [시스템에 의해서 Scene 해제 : background 상태 및 session 삭제]
- (void)sceneDidDisconnect:(UIScene *)scene API_AVAILABLE(ios(13.0)){
    // 설명 :: 시스템에 의해서 Scene 해제 : background 상태 및 session 삭제]
    NSLog(@"[Scene 해제] ::: SceneDelegate >> sceneDidDisconnect");
}



// MARK: - [Scene 활성화 및 사용자 이벤트에 응답 실시]
- (void)sceneDidBecomeActive:(UIScene *)scene API_AVAILABLE(ios(13.0)){
    // 설명 :: Scene 활성화 및 사용자 이벤트에 응답 실시]
    NSLog(@"[이벤트 응답] ::: SceneDelegate >> sceneDidBecomeActive");
}



// MARK: - [Scene 활성 상태 해제 및 사용자 이벤트에 대한 응답 중지]
- (void)sceneWillResignActive:(UIScene *)scene API_AVAILABLE(ios(13.0)){
    // 설명 :: Scene 활성 상태 해제 및 사용자 이벤트에 대한 응답 중지
    NSLog(@"[응답 중지] ::: SceneDelegate >> sceneWillResignActive");
}



// MARK: - [Scene 포그라운드 실행]
- (void)sceneWillEnterForeground:(UIScene *)scene API_AVAILABLE(ios(13.0)){
    // 설명 : Scene 포그라운드 실행"
    NSLog(@"[포그라운드 실행] ::: SceneDelegate >> sceneWillEnterForeground");
}



// MARK: - [Scene 백그라운드 실행]
- (void)sceneDidEnterBackground:(UIScene *)scene API_AVAILABLE(ios(13.0)){
    // 설명 : Scene 백그라운드 실행
    NSLog(@"[백그라운드 실행] ::: SceneDelegate >> sceneDidEnterBackground");
}



// -----------------------------------------
@end
// -----------------------------------------

 

 

 

 

 

3. ViewController 수정 with 설명

 

// vim ViewController.h

// UIKit 프레임워크의 헤더 파일을 import합니다. UIKit은 iOS 애플리케이션 개발에 필요한 다양한 클래스와 기능을 제공합니다.
#import <UIKit/UIKit.h>
// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. ViewController (선언부)
2. 전역변수 , 메소드 , 인스턴스변수 (클래스 생성자) 선언
// -----------------------------------------
*/

// -----------------------------------------
@interface ViewController : UIViewController
// -----------------------------------------

// MARK: [전역 변수 및 메소드 선언 부분]

// -----------------------------------------
@end
// -----------------------------------------

 

// vim ViewController.m

// ViewController.h 파일을 import하여 해당 클래스의 정의를 가져옵니다.
#import "ViewController.h"

// MARK: - [헤더 [선언부] 호출]
@interface ViewController ()
@end

// -----------------------------------------
@implementation ViewController
// -----------------------------------------

// MARK: - [클래스 설명]
/*
// -----------------------------------------
1. ViewController (구현부)
2. ios 13 이상 사용 : API_AVAILABLE(ios(13.0))
// -----------------------------------------
*/

// MARK: - [뷰 로드 실시]
// 메서드를 구현합니다. 이 메서드는 뷰 컨트롤러의 뷰가 메모리에 로드된 후에 호출되는 메서드입니다.
- (void)viewDidLoad {
    // 부모 클래스인 UIViewController의 viewDidLoad 메서드를 호출합니다.
    [super viewDidLoad];
    NSLog(@"[뷰 로드 실시] ::: ViewController >> viewDidLoad()");
}



// MARK: - [뷰 로드 완료]
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    NSLog(@"[뷰 로드 완료] ::: ViewController >> viewWillAppear()");
}



// MARK: - [뷰 화면 표시]
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    NSLog(@"[뷰 화면 표시] ::: ViewController >> viewDidAppear()");\
}



// MARK: - [뷰 정지 상태]
- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
    NSLog(@"[뷰 정지 상태] ::: ViewController >> viewWillDisappear()");
}


// MARK: - [뷰 종료 상태]
- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    NSLog(@"[뷰 종료 상태] ::: ViewController >> viewDidDisappear()");
}


// -----------------------------------------
@end
// -----------------------------------------

 

 

+ Recent posts