Хорошо, пока пару дней назад я не использовал код для UITableViewCell
в
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
метод. Но недавно я узнал, что разработчики iPhone (или mac) используют configureCell:atIndexPath:
, и даже большинство из этих ящиков, предоставленных исходным кодом, имеют это как одну из функций класса. Итак, мой вопрос в основном состоит в том, почему мы хотели создать еще одну функцию для предоставления содержимого ячейки, а затем просто написать весь код в методе cellForRowAtIndexPath:
.
PS. для людей, которые не знакомы с этим, вы должны увидеть исходный код яблок. и configureCell:atIndexPath:
не является другим методом в UITableViewDatasource, его просто функцией класса, которую мы имеем в каждом классе с табличным представлением. И мы используем его так.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier] autorelease];
}
[self configureCell:cell atIndexPath:indexPath];
return cell;
}
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{
cell.titleLabel.text = [NSString stringWithFormat:@"%d",indexPath.row];
}
И что более важно, после использования этого стиля для пробной цели я полюбил эту функцию, и теперь я использую ее все время. (Когда я использую UITableView)
Изменить: Хорошо. Я думаю, что люди ошибаются в моем вопросе, поэтому позвольте мне сделать это более понятным.
Я имел в виду, зачем создавать другую функцию, когда вы можете разместить весь свой код в этой функции
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Я не беспокоюсь о имени метода.