UITableViewCell - обновить ячейку после отрисовки таблицы - PullRequest
2 голосов
/ 21 июня 2011

У меня есть ячейка UITableView - я извлекаю информацию из сети, и у меня есть следующий метод делегата:

-(void)dataReturned:(NSString*)data indexPath:(NSIndexPath*)indexPath
{
        MyTableViewCell *currentCell = (MyTableViewCell*)[self tableView:self.tableView cellForRowAtIndexPath:indexPath];

        currentCell.someInfo.text = data;
        currentCell.smallActivityIndicator.hidden = YES;
}

но, к сожалению, ни "someInfo", ни smallActivityIndicator не обновляются.

Есть предложения, что я делаю не так?

Спасибо!

Ответы [ 2 ]

8 голосов
/ 21 июня 2011

Вместо того, чтобы получить объект ячейки и обновить его, вы можете обновить вашу модель новыми данными, а затем вызвать reloadRowsAtIndexPaths:withRowAnimation: ( ссылка ). При перезагрузке строки табличное представление запрашивает у своего источника данных новую ячейку для этой строки. Будет вызван cellForRowAtIndexPath:, и он построит объект ячейки из модели (в которой уже есть новые данные).

0 голосов
/ 21 июня 2011

равны ли значения currentCell, someInfo или smallActivityIndicator значению nil?

Кешируете ли вы «данные» в другом месте или используете MyTableViewCell для хранения ваших данных? Вы, вероятно, должны хранить эту строку в другом месте.

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