Tengo uno NSDictionary
y se carga UITableView
. Si un usuario se desplaza cada vez más, llamo a la API y extraigo nuevos datos. Estos datos están nuevamente en forma de NSDictionary
. ¿Es posible agregar el nuevo NSDictionary
al existente?
Respuestas:
Estás buscando a este chico:
[NSMutableDictionary addEntriesFromDictionary:]
¡Asegúrese de que su UITableView
diccionario sea un NSMutableDictionary
!
-[NSDictionary dictionaryByAddEntriesFromDictionary:]
Sin embargo, lo que quiero es que no exista tal método en NSDictionary
.
+ (instancetype)dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary { NSMutableDictionary *combinedDictionary = [NSMutableDictionary dictionaryWithDictionary:self]; [combinedDictionary addEntriesFromDictionary:dictionary]; return combinedDictionary; }
Perdón por los problemas de formato. StackOverflow no permite el formato de código multilínea amigable en los comentarios.
Utilice NSMutableDictionary addEntriesFromDictionary para agregar los dos diccionarios a un nuevo diccionario mutable. A continuación, puede crear un NSDictionary a partir del mutable, pero normalmente no es necesario tener un diccionario no mutable.
¿Su NSDictionary está lleno de otros NSDictionaries? Parece que necesitaría un NSMutableArray al que podría agregar NSDictionaries al final. Suponiendo que puede controlar el flujo de datos que ingresan y no correría el riesgo de duplicados en su matriz, ciertamente podría agregar los datos.
NSMutableArray *array = [[NSMutableArray alloc] init];
arrayCount = [array count]; // check the item count
[array addObject:dictToAppend];
Sin ver cómo lo está implementando, no puedo proporcionar ejemplos de código más detallados. Agregar elementos es fácil de hacer, pero sepa que solo se puede hacer con versiones mutables de matrices o diccionarios. Espero que esto ayude un poco.