Tôi đang cố tạo chức năng loại "dừng đồng hồ". Tôi có một nhãn (để hiển thị thời gian đã trôi qua) và hai nút (bắt đầu và ngừng bộ hẹn giờ). Các nút bắt đầu và dừng gọi các hàm startTimer
và stopTimer
tương ứng. Mỗi giây bộ hẹn giờ đều kích hoạt và gọi hàm increaseTimerCount
. Tôi cũng có một ivar timerCount
giữ thời gian trôi qua tính bằng giây.Tạo Bộ hẹn giờ iOS
- (void)increaseTimerCount
{
timerCountLabel.text = [NSString stringWithFormat:@"%d", timerCount++];
}
- (IBAction)startTimer
{
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(increaseTimerCount) userInfo:nil repeats:YES];
}
- (IBAction)stopTimer
{
[timer invalidate];
[timer release];
}
Vấn đề là có vẻ như có sự chậm trễ khi nhấn nút khởi động (mà tôi giả định là do khởi động lại bộ hẹn giờ mỗi lần startTimer được gọi). Có cách nào để chỉ tạm dừng và tiếp tục hẹn giờ mà không làm mất hiệu lực và tạo lại nó không? hoặc một cách tốt hơn/thay thế để làm điều này?
Cảm ơn.