Ho questo codice in un metodo prepareForSegueObjective-C Chiamata di un selettore che il compilatore non crede esiste (anche se sappiamo che fa)
// 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];
}
Il codice di cui sopra significa che non è necessario includere una riferimento alla classe effettiva del controller della vista che viene seguita. Posso accoppiare più liberamente i due controller di visualizzazione e controllare se risponde a qualche proprietà impostata su di esso.
Il problema è che quando faccio questo ricevo il seguente errore di compilazione:
No @interface visibile per 'UIViewController' dichiara il selettore 'setSomethingOrOther:'
che è vero, naturalmente, . So che potrei aggirarlo includendo un riferimento alla vista, ma preferirei tenerlo separato. Come posso ovviare a questo
Grazie, mi sento un idiota. Ho usato questo un po 'giusto in altri scenari. –