Reputation: 63
I want to use a selector to get to my controller and pass 2 values, the sender and a number.
Issue is that i get the crash:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[CDCFaderController changeView:]: unrecognised selector sent to instance 0x109db6f40'
The code makes sense to me so not sure why, anyone able to help?
[self.viewController performSelector:@selector(changeView:) withObject:self withObject:[NSNumber numberWithInteger: channel.channelNumber]];
Receiver:
- (void)changeView:(UIButton *)sender chanToPush:(NSNumber*)channel
Upvotes: 0
Views: 109
Reputation: 2207
Use as this
[self performSelector:@selector(changeView:chanToPush:) withObject:self withObject:[NSNumber numberWithInteger: channel.channelNumber]];
- (void)changeView:(UIButton *)sender chanToPush:(NSNumber*)channel
{
NSLog(@"channel is --%@",channel);
}
OR
[self performSelector:@selector(changeView:) withObject:[NSNumber numberWithInteger: channel.channelNumber]];
- (void) changeView:(NSNumber *)num
{ //
}
Upvotes: 0
Reputation: 19156
Selector is wrong. @selector(changeView:)
should be this @selector(changeView:chanToPush:)
.
Try this.
[self.viewController performSelector:@selector(changeView:chanToPush:) withObject:self withObject:[NSNumber numberWithInteger: channel.channelNumber]];
Upvotes: 3