在IOS Swift中不使用枚举的情况下,如何传递在点击基于流的按钮后在下一屏幕中调用哪个函数?

在IOS Swift中不使用枚举的情况下,如何传递在点击基于流的按钮后在下一屏幕中调用哪个函数?,ios,swift,mvvm,enums,Ios,Swift,Mvvm,Enums,我在RxSwift中使用MVVM Arch,我有一个屏幕通常用于8个以上的流,这里我不想使用enum和switch casse,但我必须根据流调用不同的函数并路由到不同的屏幕 示例:我有两个类A和B,它们都将转到C,这里C有一个按钮和两个函数,一旦我们导航到C,我单击C中的按钮,它应该调用与类相关的函数并路由到其他控制器 在没有枚举的情况下如何执行此操作 我的意思是,我必须在A或B类中决定在单击按钮后在C中调用哪个函数,但它只适用于三个ViewController,在这里,他有8个以上的流,正如

我在RxSwift中使用MVVM Arch,我有一个屏幕通常用于8个以上的流,这里我不想使用enum和switch casse,但我必须根据流调用不同的函数并路由到不同的屏幕

示例:我有两个类A和B,它们都将转到C,这里C有一个按钮和两个函数,一旦我们导航到C,我单击C中的按钮,它应该调用与类相关的函数并路由到其他控制器 在没有枚举的情况下如何执行此操作


我的意思是,我必须在A或B类中决定在单击按钮后在C中调用哪个函数,但它只适用于三个ViewController,在这里,他有8个以上的流,正如他在问题中提到的,然后他可以根据他所需的屏幕数量添加更多的if-else条件,然后它会变得非常复杂,以您的方式完好无损,我们也可以使用enum,但我不需要,最后我找到了一些替代我使用的代理
class ViewControllerA: UIViewController {
   override func viewDidLoad() {
    }

    @IBAction func btn_clicked(_ sender: Any) {

       let vc: ViewControllerC = 
       self.storyboard?.instantiateViewController(withIdentifier: 
        "ViewControllerC") as! ViewControllerC
       vc.isFrom = "A"
      self.navigationController?.pushViewController(vc, animated: true)
   }
 }

 class ViewControllerB: UIViewController {
    override func viewDidLoad() {
    }

    @IBAction func btn_clicked(_ sender: Any) {

       let vc: ViewControllerC = 
       self.storyboard?.instantiateViewController(withIdentifier: 
        "ViewControllerC") as! ViewControllerC
       vc.isFrom = "B"
      self.navigationController?.pushViewController(vc, animated: true)
   }
 }
class ViewControllerC: UIViewController {

    var isFrom = ""
    override func viewDidLoad() {
        super.viewDidLoad()
     if isFrom == "A"{
        self.callForA()
      }else if isFrom == "B"{
        self.callForB()     
    }
  }

  func callForA(){
       //Your Code
  }
  func callForB(){
       //Your Code
  }

}