2012-03-21 7 views
0

私はiPhoneアプリケーション開発の初心者です。スレッド制御に問題があります。Objective Cでのマルチスレッドの制御

私は2つのスレッドを設定している

:他には、同じ[アップデート別LABEL(LABEL2)]を行い、[それが正常に動作]最初のものは、指定した時間間隔の後LABEL(LABEL1)を更新

    • をそして、される(制御)&を開始し、ボタンのプレスイベントで停止:
    • 第一ボタンを押して起動する

        スレッド&はLABEL2が見えるように
      • 第二のプレスは、その実行&は、対応するLABEL2が見えなくなり停止して...と、このように制御することが...

    ボタンがTUCHUPINSIDEイベントがあり、私はiPhoneシミュレータで働いています。

    ボタンを通常(ゆっくり)押すとうまくいきますが、ダブルクリックするかボタンを連続してクリックしてその実行状態になると、対応するLABEL2はその間隔より速く更新されます。

    どうしてですか?

  • 答えて

    3

    まず、メインスレッド以外のスレッドでUIを更新しないと、予期しない結果が発生します。

    なぜこのスレッドを別のスレッドで実行していますか?あなたは実験していますか?

    また、私はNSThread(どちらもAppleをしないでください)の使用を勧めません。より多くのより高いレベルの並行処理APIがNSOperations、GCDのような目的Cで使用できます。

    +0

    ありがとうbandejapaisa、1.はいそれは単なる実験でした。 2.私はこれらのAPIを使ったことはありません。ですから、どんな状況でも最も効果的な並行性クラスを教えてください。 – NiD

    関連する問題