2012-04-06 11 views
5

Tengo un objeto que implementa serializable, y tengo un diccionario con algunos de esos objetos. Cuando compilo y corro, recibo muchas advertencias que dicen que estoy reemplazando los valores de las claves. Eso sucede porque al serializar el siguiente objeto en el diccionario, almacena sus variables con la misma clave que la anterior, ¿verdad? ¿Cómo puedo resolver esto? ¿Hay alguna manera de saber en el método encodeWithCoder si alguna variable se ha almacenado con ese nombre?Cómo resolver la advertencia de NSKeyedArchiver: reemplazar el valor existente

+0

Considere que responder sin ningún código es difícil. – zaph

Respuesta

16

encodeWithCoder: no tiene ningún problema con varios diccionarios que tienen la misma clave o con la misma clave que aparece en varios objetos. Su problema es más probable que esté codificando varias cosas con la misma clave en el mismo objeto (es decir, en sus llamadas al encodeObject:forKey:).

+0

Gracias por su respuesta. ¿Quiere decir en la misma instancia del objeto? Me gusta si llamé a'encodeObject: forKey: 'con la misma clave dos veces en el mismo método'encodeWithCoder:'? – XaitormanX

+1

sí, o en la superclase. –

+0

Ok, gracias. Revisaré el método nuevamente – XaitormanX

Cuestiones relacionadas