Одновременно с чем? Перезагрузка занимает много времени, и вам необходимо перезагрузить модель данных в фоновом режиме, сохраняя при этом возможность отображать данные пользователю?
Если это так, то я бы:
- Определить модель данных как свойство.
- Обновление временной модели данных в фоновом потоке.
- При обновлении я обновляю свойство модели данных в главном потоке.
Важно выполнить обновление свойства реальной модели и запросить перезагрузку данных для табличного представления в главном потоке. В противном случае будет временной интервал, в котором табличное представление может запросить представление для элемента модели данных, который больше не доступен.
Реализация будет выглядеть примерно так:
-(void)releadData;
{
[self performSelectorInBackground:@selector(reloadDataInBackground)
withObject:nil];
}
-(void)reloadDataInBackground;
{
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
MyDataModel* model = nil;
// Do what is needed to setup model.
[self performSelectorOnMainThread:@selector(updateModelOnMainThread:)
withObject:model
waitUntilDone:NO];
[pool release];
}
-(void) updateModelOnMainThread:(MyDataModel*)model;
{
self.model = model;
[self.tableView reloadData];
}