투케이2K

96. (Objective-C/objc) @interface 내에 private 변수 선언 및 UIAlertController 팝업창 표시 수행 실시 본문

Objective-C

96. (Objective-C/objc) @interface 내에 private 변수 선언 및 UIAlertController 팝업창 표시 수행 실시

투케이2K 2022. 9. 22. 16:34

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : OBJECTIVE-C

 

[ViewController.h]

// MARK: - [import 정의]
#import <UIKit/UIKit.h>
#import <SafariServices/SafariServices.h>
#import <WebKit/WebKit.h>
#import <AVFoundation/AVFoundation.h>


@interface ViewController : UIViewController { // [클래스 딜리게이트 정의]
    
    /*
     -----------------------------
     // [지역 변수 정의]
     -----------------------------
     1. self 키워드 없이 접근 가능
     -----------------------------
     2. 메소드 내에서 사용 필요
     -----------------------------
     3. 정보 은닉 데이터 처리
     -----------------------------
     */
    
    
    // [지역 변수 정의]
    UIAlertController *alertDialog;
    
}


// [클래스 및 인스턴스 메소드 선언 (+ / static) (- / self)]
- (void)testMain;


// [get set 프로퍼티 선언]
@property (nonatomic, retain) IBOutlet UILabel * labelText; // [get , set 속성]


@end
 

[ViewController.m]

// MARK: - [뷰 컨트롤러 헤더 파일 import]
#import "ViewController.h"


// MARK: - [전처리 지시어 헤더 파일 import]
#import "S_Define.h"


// MARK: - [프로젝트-Swift.h import 명시]
#import "objectiveProject-Swift.h"


// MARK: - [클래스 @interface]
@interface ViewController(){
    
}
@end


// MARK: - [클래스 @implementation]
@implementation ViewController{
    
}


// MARK: [클래스 헤더 파일에 선언 한 property 속성 지정]
@synthesize labelText;






// MARK: - [뷰 로드 실시]
- (void)viewDidLoad {
    [super viewDidLoad];
    printf("\n");
    printf("==================================== \n");
    printf("[ViewController >> viewDidLoad() :: 뷰 로드 실시] \n");
    printf("==================================== \n");
    printf("\n");
    
    dispatch_async(dispatch_get_main_queue(), ^{
                
        // [UIAlertController 객체 생성 실시]
        alertDialog = [UIAlertController
                         alertControllerWithTitle:@"제목"
                         message:@"내용"
                         preferredStyle:UIAlertControllerStyleAlert];
        
        
        // [버튼 클릭 액션 지정 실시]
        UIAlertAction *ok = [UIAlertAction actionWithTitle:@"확인" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
            printf("\n");
            printf("=============================== \n");
            printf("[ViewController >> viewDidLoad() :: alertDialog 확인 버튼 클릭] \n");
            printf("=============================== \n");
            printf("\n");
        }];
        
        UIAlertAction *no = [UIAlertAction actionWithTitle:@"취소" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
            printf("\n");
            printf("=============================== \n");
            printf("[ViewController >> viewDidLoad() :: alertDialog 취소 버튼 클릭] \n");
            printf("=============================== \n");
            printf("\n");
        }];
        
        
        // [alert 창에 버튼 추가 실시]
        [alertDialog addAction:ok];
        [alertDialog addAction:no];
        
        
        // [뷰에 alert 표시]
        [self presentViewController:alertDialog animated:false completion:nil];
        
    });

}





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





// MARK: - [뷰 화면 표시]
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    printf("\n");
    printf("==================================== \n");
    printf("[ViewController >> viewDidAppear() :: 뷰 화면 표시] \n");
    printf("==================================== \n");
    printf("\n");
    
    // [테스트 메인 함수 호출]
    [self testMain];
}





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





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





// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
    printf("\n");
    printf("==================================== \n");
    printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
    printf("==================================== \n");
    printf("\n");
}






// MARK: - [앱 상태 바 콘텐츠 색상 커스텀 변경 실시]
-(UIStatusBarStyle)preferredStatusBarStyle {
    // return UIStatusBarStyleLightContent; // [상태바 콘텐츠 색상 흰색으로 변경 : ex (배터리 표시)]
    if (@available(iOS 13.0, *)) { // [상태바 콘텐츠 색상 검정색으로 변경 : ex (배터리 표시)]
        return UIStatusBarStyleDarkContent;
    } else {
        return UIStatusBarStyleDefault;
    }
}



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

[결과 출력]


 

반응형
Comments