Swift: откажитесь от FormViewController в Eureka-формах - PullRequest
0 голосов
/ 08 октября 2019

Я довольно новичок в формах Eureka для Swift (кстати, фантастическая библиотека) - но у меня возникают проблемы с разработкой, как отклонить FormViewController, который представлен через шоу-шоу.

У меня естькнопка Row в FormViewController, которая запускает POST, а затем вызывает метод делегата для освобождения FormViewController от текущего контроллера представления. Этот метод делегата срабатывает ОК, но FormViewController не удаляется.

Я просмотрел документацию и провел некоторый поиск, но не могу найти нужную информацию. Вот изображение FormViewController, «застрявшего» после того, как он должен был быть отклонен: 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
}

1 Ответ

0 голосов
/ 08 октября 2019

При закрытии ViewController вы должны использовать функцию dismiss, а не переход. Например:

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

Если он был помещен в UINavigationController, то вместо этого вы должны вставить его:

self.navigationController?.popViewController(animated: true)
...