0

偶然見つけた問題の解決策を見つけようとしています。探してみましたが、私が探しているものではありません。

2 つのタブバーを使用して GPS アプリを作成しています。マップ ビューで (CLLocation を使用して) 距離を追跡し、タブを別のビューに変更すると、開始時からの距離を示す文字列テキストがすぐに更新されず、数秒かかります。

停止ボタンを押すと、実際の距離が更新されるように、その数秒待つ必要があります。しかし、私はアプリをフリーズしたくありません。(*NSDate future = [NSDate dateWithTimeIntervalSinceNow: 3.0 ]; [NSThread sleepUntilDate:future]; )

2 番目のタブのセルに距離を含む文字列を保存しているので、アプリの実行中にマルチタスクを行う場合は、アプリを起動して停止を押すだけです。そして、新しい距離が正しく保存されます。これほど多くのテキストで混乱していないことを願っています。私が求めていることを理解していただければ幸いです。

どうも

4

2 に答える 2

2
[label performSelector:@selector(setText:) withObject:newText afterDelay:3.0];
于 2012-06-29T15:05:10.377 に答える
0

したがって、実行したいのは、dispatch_afterを使用することです。

dispatch_after(3 seconds, dispatch_get_main_queue(), ^
    {
        myLabel.text = <the value you want to appear>;
    } );
于 2012-06-29T15:07:53.933 に答える