Почему метод onTimer вызывается для объекта NSArray? Из вашего описания, я считаю, что onTimer имеет это определение
-(void)onTimer:(NSTimer *)aTimer
В этом случае onTimer - это метод вашего viewcontroller (или другого созданного вами класса), но не метод массива. Как вы вызываете таймер? Правильный способ запустить таймер, который будет вызывать этот метод, это
[NSTimer scheduledTimerWithTimeInterval: 1.0 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES];
Причиной возникновения этой ошибки является то, что вы неправильно вызываете таймер или используете какой-либо объект, который был освобожден.