¿Cuál es el daño de la anulación de propiedad en Objective-C?

Existen varias situaciones en las que puede anular la propiedad de una superclase.

Usted declara una propiedad con el mismo nombre y el mismo atributo de su superclase '(ya que si cambia el atributo puede obtener una advertencia del compilador). Y puede sintetizar con un ivar que cree. ¿De qué sirve esto? ¿O cuál es el daño que puede hacer?

Si una superclase declara una propiedad en una extensión de clase (una categoría sin nombre), entonces podría no estar en el archivo de encabezado. Si no conoce esa propiedad del archivo de encabezado, puede declarar la misma propiedad de nombre con cualquier atributo o clase que desee. Pero el método setter / getter anulará los de esa "propiedad secreta". Creo que esto solo puede hacer daño. Pero como no sabe por el archivo de encabezado, ¿cómo puede evitar esto?

Puede declarar una propiedad en el archivo de encabezado como "solo lectura" y en la extensión de clase volver a declararla como "readwrite". Creo que esta es la situación que puede hacer el bien.

¿Entiendo estas situaciones, verdad? Y no sé qué bien pueden hacer la primera y la segunda situación. Pero si quiero evitar la primera situación, puedo verificar si la subclase ya tiene la propiedad antes de declararla. Pero si la propiedad no está en el archivo de encabezado público, como en la segunda situación, simplemente no sé qué hacer.

Respuestas a la pregunta(2)

Su respuesta a la pregunta