Conflictos de categoría

Esta recientepregunt me hizo pensar en conflictos de categoría, específicamente involucrando aUIViewControllerRotation categoría dentro deUIViewController.h. Esta categoría incluye lashouldAutorotateToInterfaceOrientation:. Si uno desea anular este método (a través de una categoría) y hacer que ejecute el mismo código para cadaUIViewController (como la publicación vinculada está tratando de lograr), entonces tendrían dos categorías con el mismo método, algo que leí conduce a un comportamiento indefinido.

Lo probé y, para una aplicación estándar basada en vistas en iOS 4.3, la lógica de rotación volvió a la rotación predeterminada, solo vertical, ignorando efectivamente la categoría. Esto fue sinshouldAutorotateToInterfaceOrientation:étodo @ definido en miUIViewController subclase. Curiosamente, cuando definí lashouldAutorotateToInterfaceOrientation: método y simplemente llamadoreturn [super shouldAutorotateToInterfaceOrientation:] entonces se llamó a la categoría. Entonces esto me deja con dos preguntas:

¿Están todas las apuestas desactivadas (en cuanto al comportamiento) cuando tiene métodos de categorías en conflicto?No tiene suerte si quisieran anular un método de categoría sin herencia?

¡Cualquier comentario es muy apreciado! Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta