Мне интересно, есть ли способ проверить, равен ли detailTextLabel.text ячейки детали DetailTextLabel.text другой ячейки.
Причина этого в том, что я хотел бы установить для detailTextLabel.textColor один и тот же цвет, если тексты ячеек равны друг другу.
Например, если есть несколько ячеек с одним и тем же подзаголовком — скажем, у меня есть три ячейки с подзаголовком, в котором говорится о пицце, — я бы хотел установить для пиццы зеленый цвет.
Я боюсь, что добавление моего кода может сделать вещи немного более запутанными, так как я извлекаю подзаголовок из основных данных на основе текста поиска пользователя (там просто много чего происходит, поскольку я также настаиваю на основных данных из источника данных). Так что сами субтитры в каком-то смысле случайны. Мое приложение, по сути, позволяет пользователю искать достопримечательности на основе категории. Поэтому, если пользователь ищет пиццу, на карте будут отображаться все местные рестораны, где подают пиццу. Затем вы можете сохранить эту конкретную достопримечательность, а подзаголовок будет установлен на пиццу (или на то, что искал пользователь). Таким образом, можно иметь несколько записей с подзаголовком «пицца» (если пользователь сохраняет несколько достопримечательностей на основе «пиццы»).
Попробуйте забыть о логистике установки цвета, мне просто хотелось бы знать, как я могу проверить, равны ли субтитры друг другу в TableView. Я должен указать, что мы не проверяем, равен ли фактический текст определенной строке:
Нет:
if(cell.detailTextLabel.text == @"pizza"){
cell.detailTextLabel.textColor = randomColor;
}
Что-то вроде этого
if(cell.detailTextLabel.text == some other detailTextLabel){
cell.detailTextLabel.textColor = randomColor;
}
Пример основных данных
self.category — это мой NSManagedObject. В этом случае я уже смог сохранить случайно сгенерированный цвет для основных данных. Все, что мне действительно нужно, это логика, чтобы установить цвет, равный субтитрам, которые также были сохранены в основных данных.
-(void)configureCell:(CategoryTableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath{
//fetch record
NSManagedObject *record = [self.fetchedResultsController objectAtIndexPath:indexPath];
self.category = [self.fetchedResultsController objectAtIndexPath:indexPath];
float red = [self.category.red floatValue];
float green = [self.category.green floatValue];
float blue = [self.category.blue floatValue];
UIColor *randomRGBColor = [[UIColor alloc] initWithRed:red green:green blue:blue alpha:1.0];
//update cell
[cell.textLabel setText:[record valueForKey:@"name"]];
cell.backgroundColor = randomRGBColor;
}