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;
}
'Development > iOS' 카테고리의 다른 글
[Objective-C] 앱 만들기 입문 - 7 : 프로젝트에 custom font 적용하고 사용하기 (0) | 2023.07.10 |
---|---|
[Objective-C] 앱 만들기 입문 - 6 : file 데이터과 api return 데이터를 함께 활용해보기 (0) | 2023.07.09 |
[Objective-C] 초보자의 언어 익혀보기 - 인스턴스 사용 기본 예제 (0) | 2023.07.08 |
[Objective-C] 입문하기 - 17 : property 설명 (0) | 2023.07.08 |
[Objective-C] 앱 만들기 입문 - 5 : api call 후 return받은 데이터 사용하기 (0) | 2023.07.07 |