2012-04-11 5 views
0

У меня есть пользовательские UITableView и UIImageView, UILabel. По некоторому уведомлению мне нужно обновить только UILabel, а не UIImageView. Если я так:UITableViewCell custom, update UILabel

[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:idxCell inSection:0]] withRowAnimation:UITableViewRowAnimationFade]; 

Все содержимое ячейки обновления и у меня есть фликер эффект для UIImageView. Я сделал так:

MyTableViewCell *cell = (MyTableViewCell *)[self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:idx inSection:0]]; 
cell.counterLabel.text = [NSString stringWithFormat:@"%@", counter]; 

Но я думаю, что это не хорошо, потому что это не соответствует шаблону MVC. Думаю, я должен обновить свой объект Model. Мне нужен совет, как я могу это сделать?

ответ

0

Вы должны обновить NSArray или NSDictionary, откуда вы получите данные. потому что, когда u перезагружает строку, он снова вызывает тот же словарь или массив и имеет такое же значение.

сделалSelectRowAtIndexPath при обновлении словаря или массива , а затем перезагрузите строку.

cellForRowAtIndexPath обновляет NSArray или NSDictionary, которые извлекают данные для строки.

Возможно, это будет

Смежные вопросы