If you know for sure that you've done the right thing, and the code actually works fine, you can stop Xcode warning you about it by surrounding the method with #pragma clang preprocessor commands.
For example:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
[startButton addTarget:[self parentViewController] action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];
#pragma clang diagnostic pop
Any 'missing messages' between the push and pop commands will not be reported by Xcode. I suggest having as little code as possible between them to prevent real problems in your code being unreported.