1. 사전 프로젝트 코드 세팅하고 오기

 

https://growingsaja.tistory.com/869

 

[Objective-C] 프로젝트 기본 세팅 소스코드 예시

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

growingsaja.tistory.com

 

 

 

 

 

2. 반복문 실습 - ViewController.m 소스 코드 수정

 

// 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() :: 뷰 화면 표시]");
    
    // [테스트 메인 함수 호출]
    [self testMain];
}



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


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


// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
    NSLog(@"[ViewController >> testMain() :: 테스트 메소드 수행]");
    // [for 반복문 선언 실시]
    for (int i=1; i<=5; i++){
        NSLog(@"[for :: %d]", i);
    }
    
    
    // [while 무한 루프 선언 실시]
    int count = 1;
    while (true) {
        // 무한 루트 탈출 조건 지정
        if (count > 5){
            break;
        }
        
        // 카운트 출력
        NSLog(@"[whileBreak :: %d]", count);
        // 카운트 증가
        count ++;
    }
    
    // [while 무한 루프 선언 실시]
    int countAnother = 1;
    while (countAnother <= 5) {
        // 카운트 출력
        NSLog(@"[whileOnly :: %d]", countAnother);
        // 카운트 증가
        countAnother ++;
    }
    
}
    
// -----------------------------------------
@end
// -----------------------------------------

 

 

 

 

 

3. 반복문 실습 - 결과 예제

 

 

 

 

 

 

4. 반복문 실습 : String으로 for문 돌리기 - 소스 코드 수정

 

// 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() :: 뷰 화면 표시]");
    
    // [테스트 메인 함수 호출]
    [self testMain];
}


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


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


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

    NSLog(@"[ViewController >> testMain() :: 테스트 메소드 수행] \n");
    
    // [초기 문자열 데이터 선언 실시]
    NSString *strData = @"Hi! 사자~";
    
    
    // [for 반복문을 수행하면서 문자열 한글자씩 출력 실시]
    for (int i=0; i<strData.length; i++){
        
        // [substring 사용해 문자열 한글자씩 출력]
        NSString *charAt = [strData substringWithRange:NSMakeRange(i, 1)];
        
        // [결과 출력]
        NSLog(@"[charAt [%d] : %s] \n", i, charAt.description.UTF8String);
    }
    
}
    
// -----------------------------------------
@end
// -----------------------------------------

 

 

 

 

 

5. 반복문 실습 : String으로 for문 돌리기 - 결과 예시

 

 

 

 

 

 

6. 반복문 실습 : Array로 for문 돌리기 2가지 방법

 

    a. for i; count; i++ 사용

NSArray *array = @[@"apple", @"banana", @"orange"];
for (NSUInteger i = 0; i < array.count; i++) {
    NSLog(@"Element at index %lu: %@", (unsigned long)i, array[i]);
}

    b. for item in 사용

NSArray *array = @[@"apple", @"banana", @"orange"];
for (NSString *item in array) {
    NSLog(@"Element: %@", item);
}

 

 

 

 

 

7. 조건문 실습 - ViewController.m 소스 코드 뒤에 조건문 코드 추가

 

// 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() :: 뷰 화면 표시]");
    
    // [테스트 메인 함수 호출]
    [self testMain];
}



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


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


// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
    NSLog(@"[ViewController >> testMain() :: 테스트 메소드 수행]");
    // [for 반복문 선언 실시]
    for (int i=1; i<=5; i++){
        NSLog(@"[for :: %d]", i);
    }
    
    
    // [while 무한 루프 선언 실시]
    int count = 1;
    while (true) {
        // 무한 루트 탈출 조건 지정
        if (count > 5){
            break;
        }
        
        // 카운트 출력
        NSLog(@"[whileBreak :: %d]", count);
        // 카운트 증가
        count ++;
    }
    
    // [while 무한 루프 선언 실시]
    int countAnother = 1;
    while (countAnother <= 5) {
        // 카운트 출력
        NSLog(@"[whileOnly :: %d]", countAnother);
        // 카운트 증가
        countAnother ++;
    }
    
    
    
    /*
    // MARK: [요약 설명]
    1. if 조건문 : if (조건) else if (다른조건) else (예외조건)
    2. switch 조건문 : switch (조건) case : (결과) case : (결과) default : (예외 결과)
     */
    
    
    // [초기 변수 선언 실시]
    int oneData = 30;
    int twoData = 20;
    
    int sumData = oneData + twoData;
    
    
    // [if 조건문을 사용해서 sum 값 확인 실시]
    if (sumData == 60) {
        NSLog(@"[[IF] [1] sumData :: %d]", sumData);
    }
    else if (sumData == 50){
        NSLog(@"[[ELSE IF] [2] sumData :: %d]", sumData);
    }
    else if (sumData == 40){
        NSLog(@"[[ELSE IF] [3] sumData :: %d]", sumData);
    }
    else {
        NSLog(@"[[ELSE] [4] sumData :: %d]", sumData);
    }
    
    
    // [switch 조건문을 사용해서 sum 값 확인 실시]
    switch(sumData){
        case 60:
            NSLog(@"[[case] [1] sumData :: %d]", sumData);
            break;
        case 50:
            NSLog(@"[[case] [2] sumData :: %d]", sumData);
            break;
        case 40:
            NSLog(@"[[case] [3] sumData :: %d]", sumData);
            break;
        default:
            NSLog(@"[[default] [4] sumData :: %d]", sumData);
            break;
    }
}
    
// -----------------------------------------
@end
// -----------------------------------------

 

 

 

 

 

7. 조건문 실습 - 결과 예제

 

 

 

 

 

 

 

 

 

+ Recent posts