2011-01-27 7 views
11

En cuanto a "Garantizar MVA cumplimiento", hay alguna definición oficial que parece difícil de entenderLa comprensión de MVA en IOS

Con el fin de ser considerado MVA-compatible para una propiedad específica, una clase debe asegurar lo siguiente;

  1. La clase debe ser compatible con la codificación de la propiedad como se especifica en Asegurar KVC Cumplimiento clave-valor.

  2. La clase debe permitir notificaciones automáticas observador de la propiedad , o implementar manual de clave-valor para la propiedad observación.

¿Quién puede dar ejemplos más concretos para hacer esto más claro? Gracias

Respuesta

8

Mire Ensuring KVO Compliance la sección Soporte automático versus Soporte manual de la Guía de programación de observación de valores-valores. El cumplimiento se logra esencialmente siguiendo las convenciones de nombres para los métodos y/o ivars.

En mi experiencia KVO tiende a 'solo trabajar', lo cual es bueno.

+7

Link rot: "Asegurar el cumplimiento de KVO" se ha movido a http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/KeyValueObserving/Articles/KVOCompliance.html#//apple_ref/doc/uid/ 20002178-BAJEAIEE – erikprice

1

Cuando se utilizan etiquetas @property en create getters/ setters, la magia se conecta automáticamente para las relaciones To-One y solo necesita agregar Observer ... e implementar el método observe ... para capturar las actualizaciones.

El verdadero desafío consiste en comprender cómo se implementa To-Many Key Value Compliance para hacer que un conjunto mutable o una matriz funcionen. El documentation here es la clave y el entendimiento de que hay dos secciones ... Colecciones indexadas y Colecciones desordenadas. Realmente me ayudó a entender que si mi @property es un NSMutableArray, debe mirar los métodos en el área indexada y si su @property es un NSMutableSet, debe consultar la documentación desordenada.

Existen métodos obligatorios que necesita implementar incluso si no planea usarlos.

Cuestiones relacionadas