Use Unwind.
In MainViewController
@IBAction unwindSegue(segue: UIStoryboardSegue, sender: UIStoryboardSegue){//any code you want executed upon return to mainVC
}
In NewViewController
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?){//pass any information from New to Main here
}
Then, in NewVC, simply control+drag from whichever UIButton you want to cause the unwind to NewVC's Exit
symbol and select unwindSegue
*
*
NOTE: Also if you want the unwind to happen programmatically instead of from a Button.
Control+drag from NewVC yellow to exit, this will create an unwind segue under "Exit"
Select this "Unwind segue" and in attributes inspector give it an identifier.
Now in NewVC create a function
func NameYourFunc(){performSegueWithIdentifier("TheIdentiferYouUsed", sender: self)}
and anywhere in your NewVC code when you want to perform this unwind simply call NameYourFunc()