1. NSDictionary로 데이터 쉽게 만들어보기

 

// vim main.m

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *testDict1 = @{
            @"k1": @"obj1",
            @"k2": @2,
            @44: @"four"
        };
        NSLog(@"%@", testDict1);
        NSLog(@"%@", testDict1[@"k2"]);
        NSLog(@"%@", testDict1[@44]);
    }
    return 0;
}

 

 

 

 

 

2. 가변 딕셔너리로 copy해서 치환하고 단일 데이터 추가하기

 

// vim main.m

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *testDict1 = @{
            @"k1": @"obj1",
            @"k2": @2,
            @44: @"four"
        };
        NSLog(@"%@", testDict1);
        NSLog(@"%@", testDict1[@"k2"]);
        
        NSMutableDictionary *dictTmp = [testDict1 mutableCopy];
        dictTmp[@44] = @"doubleFour";
        NSLog(@"%@", dictTmp[@44]);
        
        dictTmp[@"new"] = @"myPuppy";
        NSLog(@"%@", dictTmp);
    }
    return 0;
}

 

 

 

 

 

3. 가변 딕셔너리 데이터 합치거나 가변 딕셔너리에 딕셔너리 데이터 추가하기

 

//
//  main.m
//  practiceObjtc
//

// vim main.m

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *testDict = @{
            @"key1": @"val1",
            @"key2": @"val2",
            @22: @999
        };
        NSMutableDictionary *jsonData = [testDict mutableCopy];
        
        NSDictionary *tmpDict = @{
            @"key_a": @"val_a",
            @"key_b": @"val_b"
        };
        
        // tmpDict가 NSMutableDictionary여도 동일하게 작동
        [jsonData addEntriesFromDictionary:tmpDict];
        NSLog(@"%@", jsonData);
    }
    return 0;
}

 

 

 

 

 

4. NSMutableDictionary 데이터에서 key값 기준으로 데이터 찾아 삭제하기 + 모든 key, 모든 Value만 Array로 추출하기

 

// vim main.m

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *testDict = @{
            @"key1": @"val1",
            @"key2": @"val2",
            @22: @999
        };
        NSMutableDictionary *jsonData = [testDict mutableCopy];
        
        // 특정 key 값 삭제 수행 실시
        [jsonData removeObjectForKey:@22];
        NSLog(@"%@", jsonData);
        // 모든 key들 array로 뽑기
        NSArray *allKeys = [jsonData allKeys];
        NSLog(@"%@", allKeys);
        // 모든 value들 array로 뽑기
        NSArray *allValues = [jsonData allValues];
        NSLog(@"%@", allValues);
    }
    return 0;
}

 

 

 

 

 

5. NSMutableDictionary 데이터가 특정 key값을 가지고 있는지 확인하기

 

// vim main.m

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *testDict = @{
            @"key1": @"val1",
            @"key2": @"val2",
            @22: @999
        };
        NSMutableDictionary *jsonData = [testDict mutableCopy];
        
        bool isExist22 = [jsonData objectForKey:@22];
        NSLog(@"%s", isExist22 ? "Yes!" : "No~");
        bool isExist44 = [jsonData objectForKey:@44];
        NSLog(@"%s", isExist44 ? "Yes!" : "No~");
    }
    return 0;
}

 

 

 

 

 

6. for문으로 돌려 데이터 활용하기 예제

 

// vim main.m

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDictionary *testDict = @{
            @"key1": @"val1",
            @"key2": @"val2",
            @22: @999
        };
        NSMutableDictionary *jsonData = [testDict mutableCopy];
        
        for (NSString *eachKey in jsonData.allKeys) {
            NSString *eachValue = jsonData[eachKey];
            NSLog(@"%@", eachValue);
        }
    }
    return 0;
}

 

 

 

+ Recent posts