私のiOS5アプリケーションでは、progressLabelArrayに格納されたNSString値に基づいてセルを表示するUITableViewがあります。私は、私の下位層からコールバックを登録して、私は自分自身への参照を通じてUI更新メソッドを呼び出すことができるC関数でそれらを受け取ります。すべてのコールバックでUITableViewを更新/再ロード
static void callback_handler(int nCode) {
[refToSelf updateProgressView:nCode];
}
-(void) updateProgressView:(int32_t) nCode
{
NSString *status = nil;
status = [self progressUpdateToString:nCode];
[self.progressLabelArray insertObject:status atIndex:0];
[self.progressTableView reloadData];
[self.progressTableView setNeedsDisplay];
}
私は、コールバックが同じ(UIスレッド)に来ていることから、performSelectorOnMainThreadが必要とされないことが、推測します。
私の問題は、全体の操作が完了したときにテーブルビューが最新表示され、最後のコールバック値が表示されることです。すべてのコールバック後にUIを更新するように強制する方法はありますか?コールバックが比較的早くなる可能性があります。
コールが戻ってあまりにも速く来ているならば、どのようにデータの変化を観察するだろう唯一の最後の変更である理由、すなわち、可視 –
まずは気付かれないほど速くはなく、さまざまなコールバックの後にデバッグして休憩をとると、私はビューの初期値を見るだけです。 –
まだ問題を解決できません。私の親愛なるiOSの友人を助けてください - 助けてください! –