Я изменил источник данных UITableView во вторичном потоке, как правильно обновить UITableView, чтобы не было ошибок? - PullRequest
0 голосов
/ 09 ноября 2011

Я делаю несколько вызовов веб-сервису и получаю обратно объект, который я вставляю в NSMutableArray (который является источником данных таблицы). Я делаю это на вторичном потоке. Как правильно обновить табличное представление этими новыми данными? Я уже попробовал основной способ с reloadData.

Ответы [ 3 ]

2 голосов
/ 09 ноября 2011

Используйте -performSelectorOnMainThread: для обновления представления таблицы в главном потоке.

1 голос
/ 09 ноября 2011

Это то, что я часто делаю в функциях обновления элементов интерфейса:

-(void)functionModifyingUIelements:(id)object
{
 // fire itself in main thread if it is not in it already
 if (![[NSThread currentThread] isMainThread]) { 

        [self performSelectorOnMainThread:@selector(functionModifyingUIelements:) withObject:object waitUntilDone:NO];
        return;
    }

}
1 голос
/ 09 ноября 2011

из вашего второго потока, когда вы закончите обновление источника данных, вы можете указать tableView перезагрузить некоторые строки с помощью reloadRowsAtIndexPaths:withRowAnimation: метода tableView для полной перезагрузки раздела с помощью метода reloadSections:withRowAnimation: или даже полного представления таблицы с помощью reloadData метода

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...