Dlaczego generowane są ostrzeżenia podczas wywoływania metod niezadeklarowanych w interfejsie klasy przy użyciu konwencjonalnych środków, ale nie podczas wywoływania metod za pomocą @selector? Czy to dlatego, że selektory mogą być wykonywane przez innego rozmówcę niż samo?Dlaczego Xcode nie skarży się na niezadeklarowane metody podczas korzystania z @selector?
Na przykład:
-(void) doStuff
{
[self doNow]; // Warning: instance method not found
SEL sel = @selector(doNow); // no warnings
}
-(void) doNow {} // this method is not declared in the interface
+1 tylko dla dokumentacji. –
Dziękuję. Wydaje się niespójne z Apple, aby ta opcja była domyślnie wyłączona. –