Извините, если название немного расплывчато.Я все еще изучаю swift и segues, и у меня есть 3 контроллера вида с именами EarthViewController
, MoonViewController
и JupiterViewController
.
Это segues, которые работают:
EarthViewController -> MoonViewController
MoonViewController -> JupiterViewController
JupiterViewController -> MoonViewController,
and even JupiterViewController -> EarthViewController,
, но откат от MoonViewController -> EarthViewController
продолжает выдавать ошибку Thread 1: Signal SIGABRT
, где я прокомментировал //ERROR HERE
при попытке вернуться квид Земли.Вот схема и код на данный момент:
EarthViewController (ViewController)
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let des = segue.destination as! MoonViewController
if (segue.identifier == "toMoonView")
{
print("Went to the moon")
}
}
@IBAction func backFromMoon(segue: UIStoryboardSegue){
if let scVC = segue.source as? MoonViewController
{
print ("Back from the Moon to Earth")
}
}
@IBAction func backFromJupiterToEarth(segue: UIStoryboardSegue){
if let scVC = segue.source as? JupiterViewController
{
print ("Back from Jupiter to Earth")
}
}
}
MoonViewController
import UIKit
class MoonViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
//------------------------------------------------------------------------
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let des = segue.destination as! JupiterViewController //<- ERROR HERE
if (segue.identifier == "toJupiterView")
{
print("Went to Jupiter")
}
}
//-----------------------------------------------------------------------
@IBAction func backFromJupiter(segue: UIStoryboardSegue){
if let scVC = segue.source as? JupiterViewController
{
print ("Back from Jupiter to the Moon")
}
}
}
JupiterViewController (еще ничего не добавлено)
import UIKit
class JupiterViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
Любая помощь очень ценится!Спасибо!