У меня есть UITableViewController
с частным enum
, называемым IndexPath
, в качестве вложенного типа.
class SettingsViewController: UITableViewController {
enum IndexPath {
case Gender, Weight, EmergencyContact
var tuple: (Int, Int) {
switch self {
case .Gender:
return (0, 0)
case .Weight:
return (0, 1)
case .EmergencyContact:
return (1, 0)
}
}
}
}
Дело в том, что внутри моего cellForRowAtIndexPath
я могу просто поместить раздел и строку в кортеж и сделать оператор switch для соответствия значениям перечисления. Таким образом, я могу настроить ячейку так, как должен для этого индексного пути:
switch (indexPath.section, indexPath.row) {
case IndexPath.Gender.tuple:
// Do something.
case IndexPath.Weight.tuple:
// Do something.
case IndexPath.EmergencyContact.tuple:
// Do something.
default:
break;
}
Однако я продолжаю получать ошибку компилятора Binary operator ~= cannot be applied to two (Int, Int) operands
в строках, где находятся случаи переключения. Есть идеи, что это значит? Я даже не знаю об операторе ~=
и не использую его явно.