NSDictionary
딕셔너리는 키(key)와 값(value)으로 구성됨.
구별의 척도이므로 각 키 값은 유일해야함. value 값은 같아도 됨.
값은 id타입으로 들어가므로 배열도 줄 수 있음.
딕셔너리 생성 방법 2가지 예시.
1)
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKey:@"value", @"key", @"value2", @"key2", nil];
이렇게 값, 키, 값, 키로 생성 (순서에 유의)
2)
좀 더 편하게 생성해보자.
NSDictionary *dic2 = @{@"key":@"value", @"key2":@"value2"};
훨씬 간편하고 헷갈리지도 않음.
딕셔너리 개수 확인. (키&값이 한 세트가 1개임)
-(NSUInteger)count;
찾기
-(id)objectForKey:(id)Key;
혹은
배열처럼 첨자 표기법도 가능.
ex)
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1",@"key1",@"value2",@"key2", nil];
NSDictionary *dic2 = @{@"key":@"value", @"key2":@"value2"};
NSLog(@"search for method %@", [dic objectForKey:@"key2"]);
NSLog(@"첨자 표기법 테스트 %@", dic2[@"key2"]);
}
return 0;
}
==> 결과 :
2019-02-15 13:49:32.378636+0900 Study[1723:394085] search for method value2
2019-02-15 13:49:32.379572+0900 Study[1723:394085] 첨자 표기법 테스트 value2
Program ended with exit code: 0
모든 키, 모든 객체 얻기
-(NSArray *)allKeys;
-(NSArray *)allValues;
NSMutableDictionary
생성
+(id)dictionaryWithCapacity:(NSUInteger)numItems;
-(id)initWithCapacity:(NSUInteger)numItems;
추가 (키가 중복된다면 덮어쓰임)
-(void)setObject:(id)anObjectForKey:(id)Key;
삭제
-(void)removeObjectForKey:(id)Key;
ex)
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSMutableDictionary *dic = [NSMutableDictionary dictionary]; //메소드로 할당.
[dic setObject:@"value1" forKey:@"key1"];
[dic setObject:@"value2" forKey:@"key2"];
NSLog(@"mutableDic check : %@", dic);
}
return 0;
}
==> 결과 :
2019-02-15 13:38:52.992087+0900 Study[1660:389229] mutableDic check : {
key1 = value1;
key2 = value2;
}
Program ended with exit code: 0
'Objective-C 기초' 카테고리의 다른 글
콜렉션 특징 (0) | 2019.02.15 |
---|---|
NSSet (0) | 2019.02.15 |
가변형 배열(MutableArray) (0) | 2019.02.15 |
배열(Array) (0) | 2019.02.15 |
가변 문자열 (0) | 2019.02.14 |