switch (indexPath.section, indexPath.row) {
    case (0, _): println("section 0")
    case (1, _): println("section 1")
    case (2, 0...2): println("section 2 0-2")
    case (2, 3...5): println("section 2 3-5")
    case (3, let row): println("\(row)")
    default: break
}