투케이2K

5. (Objective-C/objc) NSMutableArray 가변 배열 사용해 데이터 삽입 , 변경 , 삭제 수행 실시 본문

Objective-C

5. (Objective-C/objc) NSMutableArray 가변 배열 사용해 데이터 삽입 , 변경 , 삭제 수행 실시

투케이2K 2022. 2. 18. 18:59

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : OBJECTIVE-C

 

[testMain 함수]

// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
    printf("\n");
    printf("=============================== \n");
    printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
    printf("=============================== \n");
    printf("\n");
    
    
    // MARK: [요약 설명]
    /*
    // -----------------------------------------
    1. Array : 생성할 때 정의된 한 가지 타입의 자료형만 배열의 원소로들어갑니다
    2. NSArray , NSMutableArray : 할당될 값의 종류와 관계없이 원소를 할당할 수 있습니다
    3. NSArray : 수정이 필요 없는 데이터에 사용하는 배열입니다
    4. NSMutableArray : 수정이 필요한 데이터에 사용하는 배열입니다
    5. NSArray , NSMutableArray는 Foundation 프레임워크에서 제공하는 클래스 객체입니다
    6. NSMutableArray 주요 메소드 :
       - 특정 번지 출력 : [mutableArray objectAtIndex:0]
       - 특정 데이터 변경 : [mutableArray replaceObjectAtIndex:0 withObject:@"헬로"]
       - 특정 번지 삭제 : [mutableArray removeObjectAtIndex:0]
       - 특정 범위 삭제 : [mutableArray removeObjectsInRange:NSMakeRange(1, 3)]
       - 전체 데이터 삭제 : [mutableArray removeAllObjects]
    // -----------------------------------------
    */
    
    
    // [초기 배열 선언 수행 실시]
    NSMutableArray *mutableArray = [[NSMutableArray alloc] init];
    
    
    
    // [배열에 데이터 삽입 실시]
    [mutableArray addObject:@"안녕"]; // @ 사용 시 문자열 형태로 저장된다
    [mutableArray addObject:@29]; // 정수
    [mutableArray addObject:@{@"Key" : @"데이터"}]; // 딕셔너리
    [mutableArray addObject:@{@"Key" : @62.5}]; // 딕셔너리
    [mutableArray addObject:@[@"하나" , @"둘"]]; // 배열
    
    NSData *insertData = [NSJSONSerialization dataWithJSONObject:mutableArray options:NSJSONWritingPrettyPrinted error:nil];
    NSString *insertResult = [[NSString alloc] initWithData:insertData encoding:NSUTF8StringEncoding];
    printf("\n");
    printf("=============================== \n");
    printf("[insert :: %s] \n", insertResult.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [특정 데이터 변경]
    [mutableArray replaceObjectAtIndex:0 withObject:@"헬로"];
    
    NSData *updateData = [NSJSONSerialization dataWithJSONObject:mutableArray options:NSJSONWritingPrettyPrinted error:nil];
    NSString *updateResult = [[NSString alloc] initWithData:updateData encoding:NSUTF8StringEncoding];
    printf("\n");
    printf("=============================== \n");
    printf("[update :: %s] \n", updateResult.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [특정 데이터 삭제]
    [mutableArray removeObjectAtIndex:0];
    
    NSData *removeAtData = [NSJSONSerialization dataWithJSONObject:mutableArray options:NSJSONWritingPrettyPrinted error:nil];
    NSString *removeAtResult = [[NSString alloc] initWithData:removeAtData encoding:NSUTF8StringEncoding];
    printf("\n");
    printf("=============================== \n");
    printf("[removeAt :: %s] \n", removeAtResult.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [특정 범위 삭제]
    [mutableArray removeObjectsInRange:NSMakeRange(1, 3)];
    
    NSData *removeRangeData = [NSJSONSerialization dataWithJSONObject:mutableArray options:NSJSONWritingPrettyPrinted error:nil];
    NSString *removeRangeResult = [[NSString alloc] initWithData:removeRangeData encoding:NSUTF8StringEncoding];
    printf("\n");
    printf("=============================== \n");
    printf("[removeRange :: %s] \n", removeRangeResult.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [전체 데이터 삭제]
    [mutableArray removeAllObjects];
    
    NSData *removeAllData = [NSJSONSerialization dataWithJSONObject:mutableArray options:NSJSONWritingPrettyPrinted error:nil];
    NSString *removeAllResult = [[NSString alloc] initWithData:removeAllData encoding:NSUTF8StringEncoding];
    printf("\n");
    printf("=============================== \n");
    printf("[removeAll :: %s] \n", removeAllResult.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
}
 

[결과 출력]


반응형
Comments