Tôi đã tạo một ứng dụng thử nghiệm với bộ hẹn giờ trước khi triển khai nó trong dự án của tôi. Đây là lần đầu tiên tôi sử dụng bộ hẹn giờ. Nhưng vấn đề là khi tôi thực hiện hẹn giờ bằng cách sử dụng [NSTimer timerWithTimeInterval: target: selector: userInfo: repeats: ];
, nó không hoạt động. Đây là mã của tôi, Interface:NSTimer timerWithTimeInterval: không hoạt động
@interface uialertViewController : UIViewController
{
NSTimer *timer;
}
-(void)displayAlert;
-(void)hideandview;
@end
Thực hiện:
@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
Sau đó, tôi đã thay đổi[NSTimer timerWithTimeInterval: target: selector: userInfo: repeats: ];
với[NSTimer scheduledTimerWithTimeInterval: target: selector:userInfo: repeats: ];
, Nó đang làm việc. Vấn đề với timerWithTimeInterval:
là gì? Tôi có đang làm gì trong lần triển khai đầu tiên của mình không? Cảm ơn trước.
timerWithTimeInterval tạo bộ hẹn giờ nhưng không khởi động và lập lịch biểu .... Tôi nghĩ rằng đó là sự khác biệt duy nhất – rooster117
@ rooster117: sau đó tôi cần phải gọi phương pháp lửa timers, am i chính xác? –
Có hoặc chỉ cần gọi scheduleTimerWithTimeInterval khi bạn muốn khởi động nó. Dù bằng cách nào, – rooster117