2010-04-04 20 views
12

Sé que es necesario si su objeto se utilizará como clave en un NSDictionary. ¿Hay otros momentos como este en los que se requiera NSCopying?¿Cuándo se necesita NSCopying?

Si creo que no necesito los objetos de mi modelo para cumplir con NSCopying, ¿me equivoco probablemente?

Respuesta

3

Cuando se pasa a una propiedad de copia o cualquier otro método que está documentado como copiar su argumento.

4

NSCopying tiene un amplio uso. Cada vez que un objeto posee algo que no debe compartir con otros objetos, necesitará una copia. Los objetos mutables a menudo necesitan ser copiados, aunque podría ser necesario NSMutableCopying en lugar de NSCopying.

7

Considere el protocolo NSCopying como la versión objetivo C de las rutinas de clonación. Si la persona que llama iba a clonar su objeto, ¿cuál es el comportamiento que le gustaría? Si su objeto está compuesto únicamente de tipos primitivos, entonces no necesita preocuparse por esto. Pero si tiene algunos tipos complejos como miembros, puede clonarlos o copiarlos en lugar de pasarles referencias simples.