[NSArray arrayWithObjects:...]
автоматически выпущен, поэтому при попытке доступа вы собираете мусор
вам нужно
imageArray = [[NSArray arrayWithObjects:
[UIImage imageNamed:@"lori.png"],
[UIImage imageNamed:@"miranda.png"],
[UIImage imageNamed:@"taylor.png"],
[UIImage imageNamed:@"ingrid.png"],
[UIImage imageNamed:@"kasey.png"],
[UIImage imageNamed:@"wreckers.png"], nil] retain];
не забудьте освободить в сделке
-(void)dealloc
{
[imageArray release];
[super dealloc];
}
[Изменить] О таймере и комментариях
Попробуйте использовать
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(onTimer:)
userInfo:nil
repeats:YES];
Вместо
NSTimer *timer = [NSTimer timerWithTimeInterval:5.0
target:self
selector:@selector(onTimer)
userInfo:nil
repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
[timer fire];
У меня такое чувство, что твоя конструкция как-то блокирует нить. Я могу ошибаться.
-(void)onTimer:(NSTimer *)aTimer
{
...
}
Также является предпочтительной подписью.