У меня есть это, которое работает:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Item *objItem = [[self fetchedResultsController] objectAtIndexPath:indexPath];
CustomCell *cell = nil;
cell = [self.tableView dequeueReusableCellWithIdentifier:identifierLONG];
[self configureCell:cell atIndexPath:indexPath tableView:tableView];
}
И я хочу сделать что-то вроде этого:
- (void)configureCell:(TimelineTextoFotoCell *)cell atIndexPath:(NSIndexPath *)indexPath tableView:(UITableView *)tableView{
Item *objItem = [[self fetchedResultsController] objectAtIndexPath:indexPath];
cell.txtNota.text = objItem.nota;
if ([cell.txtNota.text sizeWithFont:cell.txtNota.font constrainedToSize:CGSizeMake(cell.txtNota.frame.size.width, 1000.f)].height/cell.txtNota.font.pointSize < 2.0) {
cell = [tableView dequeueReusableCellWithIdentifier:identifierSHORT];
} else {
//should remain dequeueReusableCellWithIdentifier:identifierLONG....
}
//setup cell the same, for both cases.
}
Это не работает.Ячейка всегда использует dequeueReusableCellWithIdentifier:identifierLONG
, и я проверил, выполняется ли строка cell = [tableView dequeueReusableCellWithIdentifier:identifierSHORT];
.Мне нужно изменить идентификатор на основе выбранных objectAtIndexPath:indexPath