У меня такая же ситуация. У меня есть массив объектов C ++, которые предоставляют информацию в виде таблицы.
Как говорил Бен, у меня также есть временный "теневой" массив, в который новая информация загружается через Интернет. Когда запрос завершен, я сверяю этот массив с массивом, поддерживающим представление таблицы, что довольно быстро. Вопрос в том, как защитить массив во время этой сверки.
Я выполняю сверку в главном потоке, но я не уверен, что этого достаточно для защиты от конфликтов, особенно если пользователь нажимает на запись, пока идет запрос; базовый объект, для которого он просматривает детали, может быть взорван.
Здесь есть похожий вопрос к вашему (и моему) здесь:
Обновление UITableView с использованием потоков
но ответы ругают автора за то, что он слишком долго справлялся с его второстепенной операцией, вместо того, чтобы отвечать на его вопрос.
Я собираюсь использовать NSLock и получить его перед изменением массива и во всех методах делегатов UITableView, если у кого-то нет лучшей идеи.