NSDictionary를 다른 NSDictionary에 추가


87

하나 NSDictionary있고로드됩니다 UITableView. 사용자가 더 많이 스크롤하면 API를 호출하고 새 데이터를 가져옵니다. 이 데이터는 다시 NSDictionary. NSDictionary기존에 새로운 것을 추가 할 수 있습니까?

답변:


205

이 사람을 찾고 있습니다.

[NSMutableDictionary addEntriesFromDictionary:]

반드시 당신의 확인 UITableView사전이입니다 NSMutableDictionary!

여기에서 확인하세요


9
예,하지만 사전에 중복 된 키 항목을 원하는 이유는 무엇입니까?
— Johan Karlsson

2
내가 원하는 것은 -[NSDictionary dictionaryByAddEntriesFromDictionary:], 그러나에는 그러한 방법이 없습니다 NSDictionary.
— DawnSong

분명히, 중복 항목이 아니라 사전의 통합 연산 일뿐입니다. @JohanKarlsson
— DawnSong

3
@DawnSong 다음과 같은 방법을 사용한다면 NSDictionary에 카테고리를 만들 것입니다 : + (instancetype)dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary { NSMutableDictionary *combinedDictionary = [NSMutableDictionary dictionaryWithDictionary:self]; [combinedDictionary addEntriesFromDictionary:dictionary]; return combinedDictionary; } 형식화 문제로 죄송합니다. StackOverflow는 주석에서 친숙한 여러 줄 코드 서식을 허용하지 않습니다.
— BigSauce

진짜 질문은 중간 가변 객체없이 이것을하는 방법에 관한 것이라고 생각합니다. (예를 들어 NSString에 존재하는) 이러한 것의 주요 이점은 스레드로부터 안전하다는 것입니다.
— Motti Shneor

14

NSMutableDictionary addEntriesFromDictionary를 사용하여 두 개의 사전을 새 가변 사전에 추가하십시오. 그런 다음 변경 가능한 항목에서 NSDictionary를 만들 수 있지만 일반적으로 변경 불가능한 사전을 가질 필요는 없습니다.


1

NSDictionary가 다른 NSDictionary로 가득 차 있습니까? 끝에 NSDictionaries를 추가 할 수있는 NSMutableArray가 필요한 것 같습니다. 들어오는 데이터의 흐름을 제어 할 수 있고 어레이에서 중복 될 위험이 없다고 가정하면 확실히 데이터를 추가 할 수 있습니다.

NSMutableArray *array = [[NSMutableArray alloc] init];
arrayCount = [array count]; // check the item count
[array addObject:dictToAppend];

어떻게 구현하고 있는지 보지 않고서는 더 자세한 코드 예제를 제공 할 수 없습니다. 항목을 추가하는 것은 쉽지만 변경 가능한 버전의 배열 또는 사전에서만 수행 할 수 있습니다. 이것이 조금 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.