Как настроить отображение данных в таблице с помощью SegmentedControl?

tableview

#1

Всем добрый день.

Создаю проект, в нем имеется таблица и сверху segmentedControl.

Немного кода через Алерт добавляю данные:

Хочу сделать логику следующую:
Чтобы по нажатию на кнопки book, music, film в segmentedControl - отображались только те строки, которые были добавлены именно под этими значениями segmentedControl.

Подскажите как реализовать это?


#2
switch segmentedControl.selectedSegmentIndex {
case 0:
    books.append()
    break
case 1:
    films.append()
    break
case 2:
    musics.append()
    break
default:
    break
}

#3

Я также и планировал в action у segmentedControl сделать.
Но вся проблема в том, что у tableView отображается ведь только один массив.


Как мне можно это обойти или что порекомендуете?


#4

В самой таблице аналогичным способом

var itemName: String = ""
switch segmentedControl.selectedSegmentIndex {
case 0:
    itemName = books[indexPath.row]
    break
case 1:
    itemName = films[indexPath.row]
    break
case 2:
    itemName = musics[indexPath.row]
    break
default:
    break
}

А при переключении значения в сегменте, вызывать tableView.reloadData()

Ну и для указания кол-ва ячеек

switch segmentedControl.selectedSegmentIndex {
case 0:
    return books.count
case 1:
    returb films.count
case 2:
    return musics.count
default:
    return 0
}

#5

Все получилось, спасибо большое :slight_smile: