PerformSelector warning
Your if ... respondsToSelector: selector
won't work because your selector
is just the name of the method. For your case you need to check
if ([delegate respondsToSelector: @selector(method::)]
and for the other case just for method:
.
Anyway, you can supress the warning like this:
#pragma clang diagnostic push#pragma clang diagnostic ignored "-Warc-performSelector-leaks" [self performSelector:nextView];#pragma clang diagnostic pop
This is a warning generated by the compiler because -Wundeclared-selector was used while compiling and automatic reference counting (ARC) is enabled. This can be, in general, safely ignored, as it's obvious that the selector in the variable named "selector" is unknown at compile time, as it will have its value assigned at runtime.