我在 Objective-C 中制作秒表:
- (void)stopwatch
{
NSInteger hourInt = [hourLabel.text intValue];
NSInteger minuteInt = [minuteLabel.text intValue];
NSInteger secondInt = [secondLabel.text intValue];
if (secondInt == 59) {
secondInt = 0;
if (minuteInt == 59) {
minuteInt = 0;
if (hourInt == 23) {
hourInt = 0;
} else {
hourInt += 1;
}
} else {
minuteInt += 1;
}
} else {
secondInt += 1;
}
NSString *hourString = [NSString stringWithFormat:@"%d", hourInt];
NSString *minuteString = [NSString stringWithFormat:@"%d", minuteInt];
NSString *secondString = [NSString stringWithFormat:@"%d", secondInt];
hourLabel.text = hourString;
minuteLabel.text = minuteString;
secondLabel.text = secondString;
[NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(stopwatch) userInfo:nil repeats:YES];
}
如果您想知道,秒表有三个独立的标签,分别是小时、分钟和秒。但是,不是按 1 计数,而是按 2、4、8、16 等计数。
此外,代码的另一个问题(非常小的问题)是它不会将所有数字显示为两位数。例如,它将时间显示为 0:0:1,而不是 00:00:01。
非常感谢任何帮助!我应该补充一点,我是 Objective-C 的新手,所以尽可能简单,谢谢!