Swift 使用helper函数从另一个类执行Segue

Swift 使用helper函数从另一个类执行Segue,swift,segue,Swift,Segue,我有两个类,ChargeCustomer和tweefthViewController。 在TwelvethViewController中,我有一个func goNextView(),调用它时应该执行到下一个视图控制器的顺序。 goNextView()是从Alamofire完成处理程序中的类ChargeCustomer调用的。 问题是这个函数goNextView()从未被调用,我不知道为什么。 我试图根据stackoverflow的这个答案让它工作 第十二类ViewController:UIVie

我有两个类,
ChargeCustomer
tweefthViewController
。 在TwelvethViewController中,我有一个
func goNextView()
,调用它时应该执行到下一个视图控制器的顺序。
goNextView()
是从Alamofire完成处理程序中的
类ChargeCustomer
调用的。 问题是这个函数
goNextView()
从未被调用,我不知道为什么。 我试图根据stackoverflow的这个答案让它工作

第十二类ViewController:UIViewController{
//调用此func时,它应转到第三个
func goNextView(){
性能检查(带有标识符:“十二到三个”,发送者:self)
}
}
类别收费客户{
//向服务器发送post请求
请求(urlString,方法:.post,参数:params,编码:JSONEncoding.default,标题:[“内容类型”:“应用程序/json”])。responseJSON{
(响应:DataResponse)在
print(“从ALamofire收到回复”)//打印字符串
//执行到第三视图控制器的切换
func showNextView(来自ViewController:TwelvethViewController){
打印(“通过”)//不打印
fromViewController.goNextView()
打印(“已分离”)//不打印
}      
}///阿拉莫菲尔的尽头
}//计费结束UsingCustomer
根据JoséNeto更新的答案

 class ChargeCustomer {
 //create instance of the viewcontroller that has segue with identifier    twelvethToThiretheen
   let twelvethVC = TwelvethViewController()

    //send a post request to the server
    Alamofire.request(urlString, method: .post, parameters: params, encoding: JSONEncoding.default, headers: ["Content-Type":"application/json"]).responseJSON {
        (response: DataResponse<Any>) in
                print("received reply from ALamofire") //prints string

//perform segue to Thirteen View Controller
   //crashes: <CleaningApp.TwelvethViewController: 0x7fd4e16ad2a0>) has no 
     //segue with identifier 'twelvethToThiretheen''
 self.showNextView(fromViewController: self.twelvethVC )
      } //end of Alamofire

    //perform segue to Thireteen View Controller
   func showNextView(fromViewController:TwelvethViewController) {
        fromViewController.goNextView()      
       }      
} //end of chargeUsingCustomer
class-ChargeCustomer{
//创建标识符为TwelvethToThirthEen的segue的viewcontroller实例
设twelvethVC=TwelvethViewController()
//向服务器发送post请求
请求(urlString,方法:.post,参数:params,编码:JSONEncoding.default,标题:[“内容类型”:“应用程序/json”])。responseJSON{
(响应:DataResponse)在
print(“从ALamofire收到回复”)//打印字符串
//执行切换至十三视图控制器
//崩溃:)没有
//带有标识符“十二到三个”的segue
self.showNextView(来自视图控制器:self.tweefthvc)
}//阿拉莫菲尔的结尾
//执行到第三视图控制器的切换
func showNextView(来自ViewController:TwelvethViewController){
fromViewController.goNextView()
}      
}//计费结束UsingCustomer

您必须实例化所需的故事板,然后是TwelvethViewController,最后可以推送。 像这样:

let storyBoard = UIStoryboard(name: "youStoryBoard", bundle: nil) 
let vc = storyboard?.instantiateViewController(withIdentifier: "youVCIndentifier") as! TwelvethViewController 
self.navigationController?.pushViewController(vc, animated: true)

你必须实例化你想要的故事板,然后是TwelvethViewController,最后你可以推。 像这样:

let storyBoard = UIStoryboard(name: "youStoryBoard", bundle: nil) 
let vc = storyboard?.instantiateViewController(withIdentifier: "youVCIndentifier") as! TwelvethViewController 
self.navigationController?.pushViewController(vc, animated: true)

您正在alamofire闭包内声明showNextView函数,但从未调用该函数。@JoséNeto我已更新,但应用程序崩溃,出现错误
)没有标识符为“TwevethToThire”的segue
。我已经检查了sotryboard中的segue标识符是否正确,它是否正确。感谢youTry no使用segue,实例化了TwelvethViewController控制器,并让他们推送它。请尝试以下方法:让storyBoard=UIStoryboard(名称:“youStoryBoard”,bundle:nil)让vc=storyBoard?。实例化EVEWController(标识符为:“YouVCIdentifier”)为!TwevethViewController self.navigationController?.pushViewController(vc,动画:true)@JoséNeto它可以工作。非常感谢您在alamofire闭包中声明showNextView函数,但您从未调用该函数。@JoséNeto我已更新,但应用程序因错误而崩溃
)没有标识符为“tweefthire”的segue
。我已经检查了sotryboard中的segue标识符是否正确,它是否正确。感谢youTry no使用segue,实例化了TwelvethViewController控制器,并让他们推送它。请尝试以下方法:让storyBoard=UIStoryboard(名称:“youStoryBoard”,bundle:nil)让vc=storyBoard?。实例化EVEWController(标识符为:“YouVCIdentifier”)为!TwevethViewController self.navigationController?.pushViewController(vc,动画:true)@JoséNeto它可以工作。非常感谢