Скрытие / отображение индикатора раскрытия аксессуара UITableViewCell - PullRequest
36 голосов
/ 09 марта 2011

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

Я пробовал это, но безуспешно

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

или

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

Ни один из них не работает, но возможно ли это? Благодаря.

Ответы [ 2 ]

19 голосов
/ 09 марта 2011

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

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

или

if ([this isEqualToString:@"--"])
1 голос
/ 08 мая 2014

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...