Один из способов (это работает, потому что сами NSIndexPaths являются equatable):
switch indexPath {
case NSIndexPath(forRow: 0, inSection: 0) : // do something
// other possible cases
default : break
}
Или вы могли бы просто проверить против целых чисел, используя шаблон кортежа:
switch (indexPath.section, indexPath.row) {
case (0,0): // do something
// other cases
default : break
}
Еще одна хитрости заключается в использовании switch true
и такое же условие, которое вы уже используете:
switch true {
case indexPath.row == 0 && indexPath.section == 0 : // do something
// other cases
default : break
}
Лично я бы использовал вложенныеswitch
заявления, в которых мы тестируем indexPath.section
снаружи и indexPath.row
с внутренней стороны.
switch indexPath.section {
case 0:
switch indexPath.row {
case 0:
// do something
// other rows
default:break
}
// other sections (and _their_ rows)
default : break
}
Возможно, полезно: http://stackoverflow.com/questions/30189505/missing-return-uitableviewcell. –