Вариант без сегментов:
1) В interfaz Builder присвойте идентификатор ViewControllerB
2) ViewControllerA
необходимо соответствовать протоколу UITableViewDelegate
(или UICollectionViewDelegate
, если вы используете UICollectionView
)
3) Реализовать метод tableView(_:didSelectRowAt:)
в ViewControllerA
4) В методе создайте экземпляр ViewControllerB
, например:
let vc = UIStoryboard(name: "nameofthestoryboard").instantiateViewController(withIdentifier: "ViewControllerB") as! ViewControllerB
5) Получить ячейку, выбранную с индексным путем.
let cell = tableview.cellForRow(at: indexPath) as! YourCellType
6) Установите необходимую информацию для viewControllerB, пример:
vc.chemicalElement = cell.chemicalElement
7) Представьте созданный вами экземпляр ViewControllerB.
present(vc, animated: true, completion: nil)
И это все.