거리 시간 등을 추적하는 앱을 개발 중입니다. 방금 NSTimer를 사용하여 총 시간을 추적하는 방법을 구현했습니다. 이는 원하는 방식으로 작동합니다. 하지만 총 시간을 몇 시간으로 변환해야 칼로리와 평균 속도를 계산할 수 있지만 문제가 있습니다! 여기 스톱워치를 시간으로 변환
내 타이머 방법 : 여기- (void) startStopWatch {
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1
target:self
selector:@selector(timerController)
userInfo:nil
repeats:YES];
}
- (void)timerController {
_seconds++;
NSLog(@"seconds = %zd", _seconds);
if (_seconds <10){
NSString *secondsString = [NSString stringWithFormat:@"0%li", (long)_seconds];
_SecondsLabel.text = secondsString;
}
else{
NSString *secondsString = [NSString stringWithFormat:@"%li", (long)_seconds];
_SecondsLabel.text = secondsString;
}
if (_seconds == 60){
_minutes++;
_seconds = 00;
NSString *secondsString = [NSString stringWithFormat:@"0%li", (long)_seconds];
_SecondsLabel.text = secondsString;
if (_minutes <10){
NSString *minutesString = [NSString stringWithFormat:@"0%li", (long)_minutes];
_minutesLabel.text = minutesString;
}
else {
NSLog(@"minutes = %zd", _minutes);
NSString *minutesString = [NSString stringWithFormat:@"%li", (long)_minutes];
_minutesLabel.text = minutesString;
}
}
if (_minutes == 60){
self.hoursLabel.hidden = NO;
_hours++;
_minutes = 0;
NSString *minutesString = [NSString stringWithFormat:@"%li", (long)_minutes];
_minutesLabel.text = minutesString;
NSString *hoursString = [NSString stringWithFormat:@"%li", (long)_hours];
_hoursLabel.text = hoursString;
}
[self UpdateTotalTime];
}
와하는 시간으로 초과 분을 변환하는 나의 방법 :
- (void) UpdateTotalTime {
_secondsToHours = _seconds/3600;
_minutesToHours = _minutes/60;
_totalTime = (_secondsToHours + _minutesToHours + _hours);
NSLog(@"totaltime = %zd", _totalTime);
}
문제는 아무것도, 어떤 아이디어 _totalTime에 추가되지되는 것입니다 ? 또한 Objective-C를 처음 접했을 때 아주 기본적인 것을 놓칠 수도 있습니다! 감사합니다
_secondsToHours ... 변수는 어떻게 선언됩니까? – Merlevede
힌트 : if/else 문 대신에 필요한 경우 앞에 오는 0이있는 두 자리를 얻기 위해'% 02li'을 사용하십시오. 문서를 학습하면 코드 줄을 절약 할 수 있습니다. – zaph
힌트 : 자동으로 코드 들여 쓰기를하려면 코드를 선택한 다음 control-i를 입력하십시오. "코드를 읽을 수 없다면 코드를 수정할 수 없습니다"라고 Willie Jack Degel이 역설했습니다. – zaph