Tengo este código en un método prepareForSegueObjective-C Llamar a un selector que el compilador no creer que existe (aunque sabemos que hace)
// Get destination view
UIViewController *viewController = [segue destinationViewController];
//See if it responds to a selector
if ([viewController respondsToSelector:@selector(setSomethingOrOther:)]) {
//if so call it with some data
[viewController setSomethingOrOther:something];
}
El código anterior significa que no tiene que incluir una referencia a la clase real del controlador de vista que se segue'd a. Puedo acoplar de forma más suelta los dos controladores de vista y simplemente verificar si responde a alguna propiedad que se establezca en él.
El problema es que cuando hago esto me sale el siguiente error de tiempo de compilación:
Sin @interface visibles para 'UIViewController' declara el selector 'setSomethingOrOther:'
lo cual es cierto, por supuesto, . Sé que podría evitarlo al incluir una referencia a la vista, pero preferiría mantenerlo separado. ¿Cómo puedo solucionar este
Gracias, me siento como un idiota. He usado esto un poco en otros escenarios. –