Приведение должно быть к типу (буквальный), а не к переменной .
И в любом случае вы не можете объединить все свои действия в один *Переменная 1007 *, как вы, кажется, хотите, именно потому, что они являются различными типами.
Таким образом, вы просто переместите приведение в каждый случай переключателя, приведя к типу, который вырассчитывать на контроллер назначения этого сегмента и выполнять соответствующую работу над , controller
в , case:
switch segue.identifier {
case "ASegue":
if let controller = segue.destination as? AViewController {
// do stuff
}
case "BSegue":
if let controller = segue.destination as? BViewController {
// etc.
Возможно, немного более чистый способ выразить эточтобы забыть идентификатор и просто перейти к классу контроллера вида, , если , то каждый возможный переход имеет свой класс контроллера вида:
switch segue.destination {
case let controller as AViewController:
// populate controller
case let controller as BViewController:
// populate controller
// etc.