UITableView insertRowsAtIndexPaths: WithRowAnimation sin congelar la interfaz de usuario

Intento entender cuál es la mejor práctica para usar cuando trabajo con UITableView con un gran número de filas para insert cuando la tabla está visible.

Este es mi comportamiento:

Tengo un UITableView y un Thread que intentan insert datos en esta tabla. Creo que hacer que [UITableView reloadData] sea ​​una solución deficiente para el aspecto del performance, y sé que la operación UIKit se lleva a cabo en el hilo principal, por esta razón cuando se completa la actualización de NSNotification datos intenté enviar una NSNotification para hacer un UITableView operación de actualización (beginUpdate – insertRowAtIndex – endUpdate) en el hilo principal, pero esta técnica congela la interfaz de usuario. Tengo que trabajar con más de 1000 filas.

¿Alguien ya ha resuelto este problema? ¿Es una posible solución el uso de GDC asíncrono y sincronizado? En caso afirmativo, ¿cómo? Gracias por adelantado.

¿Intentas así:

 dispatch_async(dispatch_get_main_queue(), ^{ [self.tableView beginUpdates]; [self.tableDatalist insertObject:obj atIndex:index]; [self.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:index inSection:0]] withRowAnimation:UITableViewRowAnimationRight]; [self.tableView endUpdates]; });