Objective-C (반복문, 조건문)

이한솔·2024년 7월 29일

Objective-C 문법 🍎

목록 보기
2/12

반복문

Swift의 반복문에는 for문, while문, repeat~while문이 있다.
Objective-C는 비슷하게 for문, while문, do~while문이 있다.

for

일정한 범위의 값에 대해 반복할 때 사용한다.

for (초기화; 조건; 증감) { 
     실행구문
}

for (int i = 1; i <= 5; i++) {
    NSLog(@"%d", i);
}


// 배열 
NSArray *array = @[@"Apple", @"Banana", @"Cherry"];

for (int i = 0; i < [array count]; i++) {
   NSLog(@"%@", [array objectAtIndex:i]);
}


for (NSString *fruit in array) {
   NSLog(@"%@", fruit);
}
        

while

조건이 참인 동안 계속 반복한다.

int i = 1;
while (i <= 5) {
    NSLog(@"%d", i);
    i++;
}

do~while

Swift의 repeat-while문과 동일하게 최소한 한 번 실행한 뒤 조건을 평가하여 반복할지 결정한다.

int i = 1;
do {
    NSLog(@"%d", i);
    i++;
} while (i <= 5);

무한루프

일반적으로 for문을 사용한다.

for (; ;) {
    // 무한 루프에서 반복할 코드
}


Quick Enumeration (빠른 열거)

빠른 열거를 사용하면 전통적인 for 루프보다 더 간결하고 읽기 쉽게 각 요소에 접근할 수 있고, 코드의 가독성과 유지보수성을 높일 수 있다.

배열

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 배열 생성
        NSArray *array = @[@"Apple", @"Banana", @"Cherry"];
        
        // 빠른 열거를 사용하여 배열의 요소를 순회
        for (NSString *fruit in array) {
            NSLog(@"Fruit: %@", fruit);
        }
    }
    return 0;
}

딕셔너리

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 딕셔너리 생성
        NSDictionary *dictionary = @{
            @"name": @"John",
            @"age": @30,
            @"city": @"New York"
        };
        
        // 빠른 열거를 사용하여 딕셔너리의 키와 값을 순회
        for (NSString *key in dictionary) {
            NSString *value = [dictionary objectForKey:key];
            NSLog(@"%@: %@", key, value);
        }
    }
    return 0;
}

집합

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // 집합 생성
        NSSet *set = [NSSet setWithObjects:@"Red", @"Green", @"Blue", nil];
        
        // 빠른 열거를 사용하여 집합의 요소를 순회
        for (NSString *color in set) {
            NSLog(@"Color: %@", color);
        }
    }
    return 0;
}


조건문

조건문은 Swift와 동일하게 if문, if~else문, if~else if문, switch문이 있다. 삼항 연산자를 사용할 수도 있다. 하지만, Objective-C는 Swift의 guard문이 없다. if문으로 비슷하게 사용해야한다.

if

int number = 10;
if (number > 5) {
    NSLog(@"Number is greater than 5");
}

if ~ else

int number = 3;
if (number > 5) {
    NSLog(@"Number is greater than 5");
} else {
    NSLog(@"Number is 5 or less");
}

if ~ else if

int number = 7;
if (number > 10) {
    NSLog(@"Number is greater than 10");
} else if (number > 5) {
    NSLog(@"Number is greater than 5 but less than or equal to 10");
} else {
    NSLog(@"Number is 5 or less");
}

switch

int number = 3;
switch (number) {
    case 1:
        NSLog(@"Number is 1");
        break;
    case 2:
        NSLog(@"Number is 2");
        break;
    case 3:
        NSLog(@"Number is 3");
        break;
    default:
        NSLog(@"Number is something else");
        break;
}

0개의 댓글