2015-04-01 3 views
0

У меня есть строка основных данных, содержащая информацию о выбранных строках в UITableView. Значение UITableViewCell было получено из массива строк, который является первым значением сравнения; NSString (который был сохранен в строке Core Data и теперь отображается в UITextField) является вторым значением сравнения.Как сравнить содержимое UITableViewCell с NSString?

Я хочу сравнить cell.textLabel с текстовым полем, чтобы установить галочку аксессуаров ячейки.

Это мой код; сравнение не работает (я проверил первое сравнение должно быть правдой):

 if([cell.textLabel isEqual: soServices.text]) { 
      cell.accessoryType = UITableViewCellAccessoryCheckmark; 
      break; 
     } 
     else 
      cell.accessoryType = UITableViewCellAccessoryNone; 
    } 

Я предполагаю, что мой сравнить неверен, но не нашли ничего на SO или Google, чтобы указать правильный способ сделать сравнить. Итак, как мне сравнить cell.textLabel с NSString?

+0

Используйте свойство .text 'cell.textLabel', а затем используйте' isEqualToString: ' –

+0

@ ZaneHelton, пожалуйста, перепишите свой комментарий как ответ ... поскольку вы оба ответили (и это работает), я не знайте, как дать вам оба момента. – SpokaneDude

+1

Вы не должны использовать ячейку, вы должны использовать массив для проверки индекса. Используйте данные модели, а не данные своего вида. – Wain

ответ

3

Попробуйте это:

if([cell.textLabel.text isEqualToString: soServices.text]) { 
      cell.accessoryType = UITableViewCellAccessoryCheckmark; 
      break; 
     } 
     else 
      cell.accessoryType = UITableViewCellAccessoryNone; 
    } 
+1

Вы знаете, как разбить точки? Вы оба правильно ответили ... и я не знаю, как разделить точки (не уверен, что это может быть сделано) – SpokaneDude

+1

LOL это невозможно. Мы оба ответили в то же время, но он оставил комментарий, и я оставил ответ. Я оставлю это вам, просто рад, что исправил это. – Chase

+0

, если он отвечает, вы можете его продвигать, и он получит очки, но вы можете принять только один ответ. – Chase

3
if([cell.textLabel isEqual: soServices.text]) { 
      cell.accessoryType = UITableViewCellAccessoryCheckmark; 
      break; 
     } 
     else 
      cell.accessoryType = UITableViewCellAccessoryNone; 
    } 

Вы в настоящее время сравнивают метку строкового объекта, используя titleLabel «s text свойство позволит вам использовать метод isEqualToString: позволяет успешно сравнить два ,

Смежные вопросы