0

私が機知に富んでいるので、誰かが助けてくれることを願っています!?

私はUISliderを持っています。タスクの進行(音楽の再生)に合わせて動かしたいと思います。

継続イベントが発生すると、その値を設定します。(トラックの進行)

-(void)updateSlider:(float)value {
    NSLog(@" %f ",value);
    [timeIndexSlider setValue: value animated:YES];
}

浮動小数点値が正常であることをログに記録します。

しかし、動かないだけで、コンソールにプールがないスレッドから取得するだけのリークメッセージが表示されます。私の側に関係するスレッドはありません。

UISlider を頻繁に更新する際に問題はありますか?

スライダーの動きを制御する別の方法はありますか?

乾杯

4

2 に答える 2

0

別のスレッドで更新を取得し、そのスレッドで UIKit を呼び出していると思います。

更新を行う新しいメソッドで performSelectorOnMainThread を実行してみてください (おそらく NSNumber オブジェクトを取得します)。

于 2009-07-19T23:06:18.813 に答える
0

UISlider への参照を保持していますか? そうでない場合は、nil 参照に対して -setValue:animated: を呼び出している可能性があります。Objective-C では、メソッドを実際に実行することなく、これが可能になります。

これは、関数に渡された正しい float 値を取得しているのに、更新を取得していない理由を説明できる可能性があります...

提案どおりにブレークポイントを設定し、UISlider 参照が nil でないことを確認します。

そうでない場合は、コードを投稿してみてください。

それがどうなるか教えてください。

トム

于 2009-07-19T18:32:01.787 に答える