It happens that you need to save the previously selected value in the UISegmentedControl. Below is this solution.

It would seem that there is difficult? After all, you just need to save the previously selected value. But just such a small function includes all the code below.

class ViewController: UIViewController {

    @IBOutlet weak var segmentedControl: UISegmentedControl!

    @IBAction func segmentSelected(_ sender: UISegmentedControl) {

        UserDefaults.standard.set(sender.selectedSegmentIndex, forKey: "chosenOption")
    }


    override func viewDidLoad() {
        super.viewDidLoad()

        if let value = UserDefaults.standard.value(forKey: "chosenOption"){
            let selectedIndex = value as! Int
            segmentedControl.selectedSegmentIndex = selectedIndex
        }

    }
}