Мне не нравится способ NSInvocation, ему нужно слишком много кода.
Если вы хотите выполнить селектор немедленно, вот простой и понятный способ:
// Assume we have these variables
id target, SEL aSelector, id parameter1, id parameter2;
// Get the method IMP, method is a function pointer here.
id (*method)(id, SEL, id, id) = (void *)[vc methodForSelector:aSelector];
// IMP is just a C function, so we can call it directly.
id returnValue = method(vc, aSelector, parameter1, parameter2);