1

そのため、iOS アプリに GCDAsyncSocket を使用しています。GCD スレッドで実行されます。データがソケットによって受信されると、ゲームの状態が変更され、ゲームと呼ばれる共有データ モデルに格納されます (ゲームはデータの破損を防ぐために同期を使用します)。私の質問は、変更が行われたことを GUI に通知する適切な方法は何ですか?

データ モデル「ゲーム」が GUI のコントローラに通知されるようにすると、GCD スレッドで更新が実行され、問題が発生することはありませんか?

私が間違っている場合は、正しい方向に向けてください。

4

1 に答える 1

1
dispatch_async(dispatch_get_main_queue(), ^{
// update UI, this runs on Main thread.
});

また:

[anObject performSelectorOnMainThread:@selector(updateUI) withObject:anObjectOrNil waitUntilDone:NO];
于 2013-11-03T09:41:03.287 に答える