2012-05-09 6 views
0

私はいくつかの処理を行い、それによってUITableViewが自身をリロードするために使用するオブジェクトの配列を作成するカスタムキューを作成しました。私のアプリのどこかで呼び出されたカスタムキューは、メインUIキューのテーブルビューをリロードしています。これまでのところ良いですが、私のテーブルビューが再ロードされている間にカスタムキューが再度呼び出され、それによって配列が変更されます。だから私は予想されるcellforrowatindexpathメソッドの範囲外の例外を取得します。 GCDでこの種の同時発生問題を取り除くにはどうしたらいいですか?これらのタイプの風景には、どのような使用法がありますか?キューとメインuiキューの間の可変アクセス

+1

NSArray arrayWithArrayを使用してキューをコピーするだけの理由はありますか? –

答えて

0

代わりにあなたのメインキューにテーブルのリロードを追加するのは、メインスレッド上でテーブルをリロードするが、それが完了するまで、カスタムキューを一時停止し、それによって、あなたがエラーを防止します

[self performSelectorOnMainThread:@selector(doSomething:) withObject:object waitUntilDone:YES]

を試してみてください経験している。

関連する問題