I pretty doubt that what is different between value by using prepare func
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "MainToTimer") {
let vc = segue.destination as! YourViewController
vc.var_name = "Your Data"
}
}
or declare global variable for example
in VC1
var justsimpleint:Int! = 0 //out side class
viewdidload(){
justsimpleint = justsimpleint + 2
}
in VC2
viewdidload(){
print(justsimpleint) // it will be 2
}