Swift: 关闭 Eureka 表单中的 FormViewController

Swift: Dismiss a FormViewController in Eureka-forms

我对 Swift 的 Eureka 表单相当陌生(顺便说一句,很棒的库)- 但我无法解决如何关闭通过显示转场呈现的 FormViewController 的问题。

我在 FormViewController 中有一个按钮 Row,它触发 POST 然后调用委托方法从呈现视图控制器中关闭 FormViewController。此委托方法正常触发,但 FormViewController 未被关闭。

我查看了文档并进行了一些搜索,但似乎找不到正确的信息。这是 FormViewController "stuck" 应该被关闭后的图像:https://i.imgur.com/zreGcVS.png

呈现视图控制器中的 segue 和委托方法:

//MARK: -Navigation

@IBAction func addButtonTapped(_ sender: Any) {
    self.performSegue(withIdentifier: "addNewBusiness", sender: nil)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "addNewBusiness" {
        let destinationVC = segue.destination as! NewBusinessController
        destinationVC.delegate = self
    }
}

func businessAdded(data : JSON) {
    self.dismiss(animated: true, completion: nil) //Not working
    self.refresh(sender: self) //Working
    let text = data["message"].stringValue //Working
    print("My Businesses Controller: response JSON value is: \(text)") //Working
    self.alertDisplayer.showTopMessage(text: text) //Working
    self.soundPlayer.playSound(tone: "success") //Working
}

当关闭 ViewController 时,您应该使用关闭功能,而不是 segue。 例如:

self.dismiss(animated: true, completion: nil)

如果它已被推送到 UINavigationController 中,那么您应该弹出它:

self.navigationController?.popViewController(animated: true)