このタイマーは、私のすべてのデバイス (5、iPad、および 2 つの 4S) でうまく機能しますが、私が持っている 2 つの 3GS では機能しないようです。何らかの理由で、時間が 3 秒で非常に遅くなります。問題を説明するビデオを次に示します。
そして、時間を扱うコードは次のとおりです。
- (void)showTime
{
int hours = 0;
int minutes = 0;
int seconds = 0;
int hundredths = 0;
NSArray *timeArray = [NSArray arrayWithObjects:self.hun.text, self.sec.text, self.min.text, self.hr.text, nil];
for (int i = [timeArray count] - 1; i >= 0; i--) {
int timeComponent = [[timeArray objectAtIndex:i] intValue];
switch (i) {
case 3:
hours = timeComponent;
break;
case 2:
minutes = timeComponent;
break;
case 1:
seconds = timeComponent;
break;
case 0:
hundredths = timeComponent;
hundredths++;
score++;
break;
default:
break;
}
}
if (hundredths == 100) {
seconds++;
hundredths = 0;
}
else if (seconds == 60) {
minutes++;
seconds = 0;
}
else if (minutes == 60) {
hours++;
minutes = 0;
}
self.hr.text = [NSString stringWithFormat:@"%.0d", hours];
self.min.text = [NSString stringWithFormat:@"%.2d", minutes];
self.sec.text = [NSString stringWithFormat:@"%.2d", seconds];
self.hun.text = [NSString stringWithFormat:@"%.2d", hundredths];
scoreLabel.text= [NSString stringWithFormat:@"%i",score];
ここで何が起こっているのかを理解するのを手伝ってください。新しいデバイスでうまく機能するので、何をする必要があるのかわかりません。
前もって感謝します!