私はメインスレッドを持つGUIアプリケーションを持っています。そして、ユーザーがスタートボタンをクリックすると、NSOperationを使って2つのスレッドを実行します。今度はあるスレッドがある値を計算して更新します。スレッド2がやりたいことは、この値を選択してUIを更新することです。 この2番目のスレッドからUIで更新されるIBOutlet Textfield値を取得するにはどうすればよいですか?別の.mファイルからCocoaのUIを更新する
例: main.m --- UIを処理し、ユーザーが開始ボタンを押すと2つのスレッドを開始するコードがあります。
thread1.m - 特定の値を計算し、ユーザーが停止するまでそれを続けます。
thread2.m - このスレッドを使用して、main1.mのUIをthread1.mが計算する値で更新する必要があります。
私はthread2.mタスクを達成できず、UIを更新できません。私の問題は、main.mがこの値にアクセスしてUIを更新するように、IBOutletを定義してthread2/1の値で更新する方法です。私はmain.mの実際の変数にアクセスし、NSLogを使ってそれを印刷することができます。そのちょうど私はこの値でUIを更新する方法に固執しています。私はmain.m内にIBOutletを持っていなければならないので、アプリ内のUILabelと結びつける必要があります。どんなアイディアですか?ありがとう。
ありがとうございました。私のmain.mのguiTextFieldにどうすればアクセスできますか?私はthread1.mで(まさにあなたが言及したような)価値を得ることができます。しかし、私が実行している問題は、main.mでアクセスできるNSTextfieldにこの値を格納する方法です。私がthread2.mで宣言すれば、main.mはそれを見ません。 – ZionKing
main.mにNSTextField *であるIBOutletがあるとしますか?そうであれば、スレッドに渡すことができます。上記のコードを更新して試してみました。 – Ryan