У меня есть следующий код, который я тестирую:
NSString * parameterSignature = @"@:";
NSMethodSignature * signature = [NSMethodSignature signatureWithObjCTypes:[parameterSignature UTF8String]];
NSInvocation * invocation = [NSInvocation invocationWithMethodSignature:signature];
[invocation setSelector:@selector(aMethodWithNoParms)];
Когда выполняется setSelector, я получаю эту ошибку:
Name: NSInvalidArgumentException
File: Unknown
Line: Unknown
Reason: -[NSInvocation setArgument:atIndex:]: index (1) out of bounds [-1, 0]
Я троллю сеть в поискахпричина, по которой так и не нашел его.Похоже, что он пытается установить второй параметр вызова, который будет селектором, но массив не достаточно длинный.Я бы подумал, что создание вызова настроило бы массив.
Я не уверен, как это исправить, кто-нибудь увидит, что я сделал неправильно?