Tengo una pregunta rápida con respecto a KVO. Entiendo que para un NSArray si se desean adiciones, puede hacer lo siguiente.NSMutableDictionary adición y eliminación KVO
NSIndexSet* set = [NSIndexSet indexSetWithIndex:[someIndex integerValue]];
[self willChange:NSKeyValueChangeInsertion valuesAtIndexes:set forKey:@"theArrayName"];
// add the objects at the specified indexes here
[self didChange:NSKeyValueChangeInsertion valuesAtIndexes:set forKey:@"theArrayName"];
Al registrarse para la observación, obtendrá un diccionario de cambio con los índices que han cambiado.
Sin embargo, no entiendo cómo puedo observar nuevas adiciones de objetos a un NSMutableDictionary. ¿Hay alguna forma de observar el agregado/eliminación de objetos?
Gracias,
[EDIT] he encontrado una solución que satisface mis necesidades actuales. Espero que lo siguiente ayude a futuros desarrolladores.
[self willChangeValueForKey:@"someDictionary" withSetMutation:NSKeyValueUnionSetMutation usingObjects:[NSSet setWithObject:someObject]];
[Images setObject:someObject forKey:someIndex];
[self didChangeValueForKey:@"someDictionary" withSetMutation:NSKeyValueUnionSetMutation usingObjects:[NSSet setWithObject:someObject]];
+1. Buena pregunta/respuesta. Debe publicar la respuesta que ha incrustado en su pregunta como respuesta. Actualmente se encuentra en la lista "Sin respuesta". En realidad, se alienta la publicación de una respuesta a su propia pregunta en SO. Al hacer una pregunta, ya sabes la respuesta e inmediatamente después de publicar la respuesta también se recomienda (asumiendo que la pregunta es buena y que otros también pueden encontrar). – Sam