少し助けが必要です。私は50などの値を取得するメソッドを持っています。その値をtrackDurationに代入するので、NSNumber * trackDuration = 50このメソッドは、trackDurationの値から1秒ごとに1を引いて、ラベルを更新します。ラベルはdurationと呼ばれます。Objective-c 1秒に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);
}}
先進的なサミのおかげで、何か助けていただければ幸いです。
iPhone OS 2は、サードパーティのアプリケーションをサポートしている最初のデバイスであり、とにかくMacのプログラムであることは間違いありません(SBApplicationを使用していることが明らかです)。 – Chuck
助けてくれてありがとう、もっと理にかなっていますが、私はフォローウィングの警告を受け取り、それはうまくいきません。 NSTimer 'が' scheduledTimerWithInterval: 'に応答しない可能性があります。target:selector:userInfo:repeats:' – Sami
このメソッド呼び出しの最初の部分は:scheduledTimerWithTimeInterval: –