NSTimer causes "unrecognized selector" crash when it fires

ios, nstimer, objective-c, selector

Solution

either you can use only

- (void)myMethod: (id)sender
{
 // Do things
}

or you can do (remove : from both the method name)..

animationTimer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target:self selector:@selector(myMethod) userInfo:nil repeats: YES];

hope this will help you

Problem

I'm using a `NSTimer` to run an animation (for now just call it `myMethod`). However, its causing a crash. Here's the code: ``` @implementation SecondViewController // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void) myMethod { NSLog(@"Mark Timer Fire"); } - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"We've loaded scan"); [NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(myMethod:) userInfo:nil repeats:YES]; animationTimer = [NSTimer scheduledTimerWithTimeInterval: 1.0 target:self selector:@selector(myMethod:) userInfo:nil repeats: YES]; } ``` And here's the output during the crash -[SecondViewController myMethod:]: unrecognized selector sent to instance 0x4b2ca40 2012-06-21 12:19:53.297 Lie Detector[38912:207] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[SecondViewController myMethod:]: unrecognized selector sent to instance 0x4b2ca40' So what am I doing wrong here?

Original source