약간의 도움이 필요하다. 50과 같은 값을 얻는 방법이있다. 그러면 그 값을 trackDuration에 할당한다. 그래서 NSNumber * trackDuration = 50, 나는 원한다. 메소드는 1 초마다 trackDuration의 값에서 1을 뺀 다음 레이블을 갱신합니다. 레이블은 duration이라고합니다.Objective-c 매초마다 1에서 숫자를 얻고 카운트 다운하는 방법
내가 지금까지 가지고있는 것은 다음과 같습니다.
- (void) countDown {
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSNumber *trackDuration = [NSNumber numberWithDouble:[[iTunes currentTrack] duration]];
while (trackDuration > 0) {
trackDuration - 1;
int inputSeconds = [trackDuration intValue];
int hours = inputSeconds/3600;
int minutes = (inputSeconds - hours * 3600)/60;
int seconds = inputSeconds - hours * 3600 - minutes * 60;
NSString *trackDurationString = [NSString stringWithFormat:@"%.2d:%.2d:%.2d", hours, minutes, seconds];
[duration setStringValue:trackDurationString];
sleep(1);
}}
어떤 도움
훨씬 사미, 고급에, 감사 감사하겠습니다.
iOS 요구 사항은 중요하지 않습니다. iPhone OS 2는 타사 응용 프로그램을 처음으로 지원 한 사람이었으며, 분명히 Mac 프로그램입니다 (SBApplication 사용으로 증명 됨). – Chuck
도움을 주셔서 감사합니다,하지만 더 이해가 되긴하지만 다음 경고가 나오고 작동하지 않는 것 같습니다. NSTimer '가'+ scheduledTimerWithInterval : target : selector : userInfo : repeats : '에 응답하지 않을 수 있습니다. – Sami
해당 메소드 호출의 첫 번째 부분은 다음과 같아야합니다 : scheduledTimerWithTimeInterval : –