Подтвердить что ты не робот

Скрытие/отображение индикатора раскрытия информации о принадлежности UITableViewCell

Я пытаюсь загрузить данные (строку) из основных данных, и если это значение в этой строке равно "-", индикатор раскрытия информации о принадлежностях будет скрыт и SelectionStyleNone.

Я пробовал это, но не удалось

if (entity.value == @"--"){
    cell.selectionStyle = UITableViewCellSelectionStyleNone;  
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}  

Или

NSString *this = entity.value;
if (this == @"--") {
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
}

Оба не работают... но возможно ли это? спасибо

4b9b3361

Ответ 1

Я думаю, что проблема заключается в сравнении выражения. Правильный способ:

if ([entity.value isEqualToString:@"--"])

или

if ([this isEqualToString:@"--"])

Ответ 2

Я бы, вероятно, использовал:

if ([userEventStatus.status.stringValue isEqual:@"--"])

Это может показаться тонким изменением, но использование isEqual вместо isEqualToString означает, что если ваш код более надежный, если вы измените тип данных, проходящих через него (intValue, floatValue, CGPointValue). Вместо того чтобы переписать всю функцию, вы можете просто изменить введенную переменную.

Этот тип метода также может быть легко скопирован в разные части приложения, а значение изменено в зависимости от обстоятельств.