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.