У меня есть UITableViewCell
ячеек с style = UITableViewCellStyleValue1
(этот стиль используется во всех других view controllers
, которые я использую в своем проекте). Я дважды проверил cell identifiers
в своей раскадровке в соответствии с предложениями других сообщений SO. Тем не менее я получаю detailTextLabel
как ноль. Есть ли что-то еще, что я делаю неправильно? Я заметил, что ячейки всегда повторно используются. Если оператор для распределения никогда не выполняется. Итак, как мне получить стиль объекта UITableViewCell
, чтобы убедиться, что повторно используемые ячейки соответствуют одному и тому же стилю?detailtextlabel set to nil
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"CellForDevice";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
}
NSLog(@"reuse ID : %@",cell.reuseIdentifier);
// Configure the cell...
NSArray* row = [self.listOfItems objectAtIndex:indexPath.row];
NSString* str = [row objectAtIndex:0];
NSString* status = [row objectAtIndex:1];
cell.textLabel.text = str;
if(cell.detailTextLabel == nil)
NSLog(@"detailTextLabel nil");//didn't expect this would execute
cell.detailTextLabel.text = status;
cell.detailTextLabel.backgroundColor = [UIColor greenColor];
NSLog(@"status %@ ",status);
return cell;
}
Вы определили ячейку в качестве ячейки прототипа в своем файле раскадровки? В этом случае ячейка всегда загружается из раскадровки, и вы должны проверить свойства ячейки прототипа. –
да, что решил. Благодаря тонну. – user2103008
Хорошо, отлично. Я добавил свой комментарий в качестве официального ответа. –