Objective-C Language
NSDictionary
수색…
몹시 떠들어 대다
NSDictionary *dict = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
또는
NSArray *keys = [NSArray arrayWithObjects:@"key1", @"key2", nil];
NSArray *objects = [NSArray arrayWithObjects:@"value1", @"value2", nil];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects
forKeys:keys];
또는 적절한 리터럴 구문 사용
NSDictionary *dict = @{@"key": @"value", @"nextKey": @"nextValue"};
NSArray를 NSArray로
NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
NSArray *copiedArray = myDictionary.copy;
키 가져 오기 :
NSArray *keys = [myDictionary allKeys];
값 가져 오기 :
NSArray *values = [myDictionary allValues];
NSDictionary를 NSData로 변환
NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:myDictionary];
경로 예약 :
NSDictionary *myDictionary = (NSDictionary*) [NSKeyedUnarchiver unarchiveObjectWithData:myData];
NSDictionary - JSON
NSDictionary *myDictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
NSMutableDictionary *mutableDictionary = [myDictionary mutableCopy];
NSData *data = [NSJSONSerialization dataWithJSONObject:myDictionary options:NSJSONWritingPrettyPrinted error:nil];
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
블록 기반 열거
사전을 열거하면 enumerateKeysAndObjectsUsingBlock:(void (^)(id key, id obj, BOOL *stop))block
메서드를 사용하여 각 사전 키 - 값 쌍에 대한 코드 블록을 실행할 수 있습니다 enumerateKeysAndObjectsUsingBlock:(void (^)(id key, id obj, BOOL *stop))block
예:
NSDictionary stockSymbolsDictionary = @{
@"AAPL": @"Apple",
@"GOOGL": @"Alphabet",
@"MSFT": @"Microsoft",
@"AMZN": @"Amazon"
};
NSLog(@"Printing contents of dictionary via enumeration");
[stockSymbolsDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSLog(@"Key: %@, Value: %@", key, obj);
}];
빠른 열거
NSDictionary
는 다른 컬렉션 유형과 마찬가지로 빠른 열거 형을 사용하여 열거 할 수 있습니다.
NSDictionary stockSymbolsDictionary = @{
@"AAPL": @"Apple",
@"GOOGL": @"Alphabet",
@"MSFT": @"Microsoft",
@"AMZN": @"Amazon"
};
for (id key in stockSymbolsDictionary)
{
id value = dictionary[key];
NSLog(@"Key: %@, Value: %@", key, value);
}
NSDictionary
는 기본적으로 순서가 지정되지 않으므로 for 루프에있는 키의 순서는 보장되지 않습니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow