¿Cómo ejecutar la acción de presionar un botón antes de prepareForSegue en iOS?

Estoy creando una aplicación para iOS en la que quiero realizar una acción de asignación presionando un botón antes de ejecutar el método prepareForSegue.

Creé todos los controles usando el tablero principal de la historia.

El orden de ejecución de algunos botones es la acción de presionar un botón -> prepareForSegue

pero para algunos botones es prepareForSegue-> button press action

¿Cómo cambiar el orden para el segundo conjunto de botones?

Aquí está el código que estoy usando:

import UIKit

class SummaryViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    var button_prsd = "none"

    @IBAction func people_insights(sender: AnyObject) {
        button_prsd = "people_insights"
    }

    @IBAction func industry_research(sender: AnyObject) {
        button_prsd = "industry_research"
    }

    @IBAction func holidays_events(sender: AnyObject) {
        button_prsd = "holidays_events"
    }

    @IBAction func monthly_spotlights(sender: AnyObject) {
        button_prsd = "monthly_spotlights"
    }

    @IBAction func blog(sender: AnyObject) {
        button_prsd = "blog"
    }


    @IBAction func about_us(sender: AnyObject) {
        button_prsd = "about_us"
        print("button press about us executed")
    }


    @IBAction func settings(sender: AnyObject) {
        button_prsd="settings"
        print("button press settings executed")

    }


    @IBAction func quiz(sender: AnyObject) {
        button_prsd="quiz"
        print("button press quiz executed")
    }

    // MARK: - Navigation

    // In a storyboard-based application, you will often want to do a little preparation before navigation
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        // Get the new view controller using segue.destinationViewController.
        // Pass the selected object to the new view controller.

        let next_view = segue.destinationViewController

        if(next_view is DetailViewController)
        {
            let det_view = next_view as! DetailViewController
            det_view.link = button_prsd
            print("segue executed")
        } else if(next_view is DetailTableViewController)
        {
            let det_view = next_view as! DetailTableViewController

            print("segue executed")
        }
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta