Хорошо, так что используйте стандартный код шаблона для UITableViewController, я использую cellForRowAtIndexPath:
для настройки моих UITableViewCells на основе источника данных.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//cell setup
cell.textLabel.text = @"Initial Data!";
return cell;
}
Однако, это внезапно показалось мне проблематичной практикой.Например, допустим, я хочу сделать это
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//some processing or data update is done here
//now I want to update the cell
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
cell.textLabel.text = @"New Data";
}
Кажется, что это бесполезный код, потому что получение ячейки для ее обновления вызывает ее повторное обновление из кода в cellForRowAtIndexPath.
Поэтому я должен поместить конфигурацию для ячейки в другое место и назвать ее как-нибудь иначе, или я должен записать конфигурацию в cellForRowAtIndexPath
более умным способом, чтобы простой вызов ее обновилпользовательский интерфейс без