In MyClass.m, I've defined
- (void) myTest: (NSString *) withAString{
NSLog(@"hi, %@", withAString);
}
and the appropriate declaration in MyClass.h . Later I want to call
[self performSelector:@selector(mytest:withAString:) withObject: mystring];
in MyClass.m but I get an error similar to
* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[MyClass myTest:withAtring:]: unrecognized selector sent to instance 0xe421f0'
I tried a simpler case with a selector that took no arguments that printed a string to console and that worked just fine. What's wrong with the code and how can I fix it? Thanks.
Best Answer
In Objective-C, a selector's signature consists of:
Selectors have no knowledge of:
Here's a class implementation where performMethodsViaSelectors method performs the other class methods by way of selectors:
The method you want to create a selector for has a single input, so you would create a selector for it like so: