В вашем случае вам придется создать новый объект NSInvocation и установить для его параметра index 2 значение NSString (параметры с 0 и 1 зарезервированы).
Пример:
// Assuming:
NSString *myString = ...;
/* / */
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:@selector(openBackupNamed:)]];
[invocation setSelector:@selector(openBackupNamed:)];
[invocation setTarget:self];
[invocation setArgument:&myString atIndex: 2];
[invocation invoke]; // or use invokeWithTarget: instead of the above setTarget method.
Прочитайте АЦП Ссылка на класс NSInvocation
Пожалуйста, обратите внимание на сообщение setArgument
.Вы должны передать ему адрес вашего параметра (вашей строки), а не сам объект.