Mam ten kod w metodzie prepareForSegueObjective-C Wywołanie selektor, że kompilator nie wierzy istnieje (choć wiemy, że to robi)
// 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];
}
Powyższy kod oznacza, że nie trzeba obejmują odniesienie do rzeczywistej klasy kontrolowanego kontrolera widoku. Mogę luźniej powiązać dwa kontrolery widoku i po prostu sprawdzić, czy odpowiada na niektóre właściwości, które są na nim ustawione.
Problem polega na tym, że kiedy to pojawia się następujący błąd czasu kompilacji zrobić:
Brak widocznych @interface dla „UIViewController” deklaruje selektor „setSomethingOrOther:”
co jest prawdą oczywiście . Wiem, że mógłbym obejść to, dołączając odniesienie do widoku, ale wolałbym go oddzielić. W jaki sposób można obejść ten
Dziękuję, czuję się jak idiota. Użyłem tego trochę w innych scenariuszach. –