투케이2K

9. (Objective-C/objc) 딕셔너리 NSMutableDictionary 사용해 데이터 삽입 , 수정 , 삭제 , 조회 실시 본문

Objective-C

9. (Objective-C/objc) 딕셔너리 NSMutableDictionary 사용해 데이터 삽입 , 수정 , 삭제 , 조회 실시

투케이2K 2022. 2. 21. 12:33

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : OBJECTIVE-C

 

[testMain 함수]

// MARK: - [헤더 파일에 정의 없이 : void 메소드 구현]
- (void)testMain {
    printf("\n");
    printf("=============================== \n");
    printf("[ViewController >> testMain() :: 테스트 메소드 수행] \n");
    printf("=============================== \n");
    printf("\n");
    
    
    /*
    // MARK: [요약 설명]
    1. 딕셔너리 : key , value 형태를 가집니다 (자바 해쉬맵 , json 형태)
    2. 딕셔너리를 사용해서 json 데이터 포맷 및 파싱을 수행할 수 있습니다
    */
    
    
    // [딕셔너리 객체 생성 및 데이터 삽입 실시]
    NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
    [dic setObject:@"value_1" forKey:@"key_1"];
    [dic setObject:@10 forKey:@"key_2"];
    [dic setObject:@true forKey:@"key_3"];
    printf("\n");
    printf("=============================== \n");
    printf("[insert :: %s] \n", dic.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [특정 key 값 value 업데이트 수행 실시]
    [dic setObject:@20 forKey:@"key_2"];
    printf("\n");
    printf("=============================== \n");
    printf("[update :: %s] \n", dic.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [특정 key 값 삭제 수행 실시]
    [dic removeObjectForKey:@"key_2"];
    printf("\n");
    printf("=============================== \n");
    printf("[remove :: %s] \n", dic.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [전체 key 리스트 조회 실시]
    NSArray *keyList = [dic allKeys];
    printf("\n");
    printf("=============================== \n");
    printf("[select keyList :: %s] \n", keyList.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [특정 key 포함 여부 확인 실시]
    bool checkKey_1 = [dic objectForKey:@"key_1"];
    bool checkKey_2 = [dic objectForKey:@"key_2"];
    printf("\n");
    printf("=============================== \n");
    printf("[contains key_1 :: %d] \n", checkKey_1);
    printf("[contains key_2 :: %d] \n", checkKey_2);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [전체 value 조회 실시]
    NSArray *valueList = [dic allValues];
    printf("\n");
    printf("=============================== \n");
    printf("[select valueList :: %s] \n", valueList.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [특정 key 조회 실시]
    NSString *strData = [dic objectForKey:@"key_1"];
    printf("\n");
    printf("=============================== \n");
    printf("[select data one :: %s] \n", strData.description.UTF8String);
    printf("=============================== \n");
    printf("\n");
    
    
    
    // [for 문을 돌면서 순차적으로 key , value 확인 실시]
    for (NSString *keyData in dic.allKeys){
        NSString *valueData = [NSString stringWithFormat:@"%@" , dic[keyData]];
        printf("\n");
        printf("=============================== \n");
        printf("[select for [key] :: %s] \n", keyData.description.UTF8String);
        printf("[select for [value] :: %s] \n", valueData.description.UTF8String);
        printf("=============================== \n");
        printf("\n");
    }
}
 

[결과 출력]


반응형
Comments