Stworzyłem aplikację testową z timerem przed jej implementacją w moim projekcie. Po raz pierwszy korzystam z timera. Ale problem jest, gdy zaimplementowałem timer przy użyciu [NSTimer timerWithTimeInterval: target: selector: userInfo: repeats: ];
, to nie działa. Oto mój kod, Interfejs:Timer NSTimerWithTimeInterval: nie działa
@interface uialertViewController : UIViewController
{
NSTimer *timer;
}
-(void)displayAlert;
-(void)hideandview;
@end
Realizacja:
@implementation uialertViewController
- (void)viewDidLoad {
[self displayAlert];
[super viewDidLoad];
}
-(void)displayAlert{
timer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(hideandview) userInfo:nil repeats:NO];
alert = [[UIAlertView alloc] initWithTitle:@"testing" message:@"hi hi hi" delegate:nil cancelButtonTitle:@"continue" otherButtonTitles:nil];
[alert show];
[alert release];
alert = nil;
}
-(void)hideandview{
NSLog(@"triggered");
[alert dismissWithClickedButtonIndex:0 animated:YES];
[alert release];
[self displayAlert];
}
@end
Potem zmieniłem[NSTimer timerWithTimeInterval: target: selector: userInfo: repeats: ];
z[NSTimer scheduledTimerWithTimeInterval: target: selector:userInfo: repeats: ];
, ona pracuje. Co było problemem z timerWithTimeInterval:
? Czy zmieniam coś w mojej pierwszej implementacji? Z góry dziękuję.
timerWithTimeInterval tworzy licznik czasu, ale go nie uruchamia i nie planuje ... robi. Myślę, że to jedyna różnica – rooster117
@ rooster117: wtedy muszę zadzwonić do metody timerów ognia, czy mam rację? –
Tak lub po prostu wywołaj metodę scheduleTimerWithTimeInterval, gdy chcesz ją uruchomić. Tak czy inaczej – rooster117