首页 > 解决方案 > 从自身打开新的 ViewController

问题描述

我有一个视图控制器,我在其中向用户提出多项选择题。这个想法是跳到下一个问题,所以我想对每个新问题再次调用相同的视图控制器(newsViewController),只是更改变量问题。我有一个按钮 btnNetQuestionAction。我尝试了这个解决方案,它工作正常。这是一个好方法吗?有更好的主意吗?

@IBAction func btnNetQuestionAction(_ sender: Any) {
    question = question + 1
    if question > total {
        question = total
    }
    UserDefaults.standard.set(questao,forKey: "questao")
    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyboard.instantiateViewController(withIdentifier: "newsViewController") as UIViewController
    navigationController?.pushViewController(vc,animated: true)
} 

标签: swiftviewcontroller

解决方案


我不认为这是一个好主意。您正在将 UIViewControllers 堆叠在另一个之上。一个更简洁的解决方案是为您的 viewController 提供数据源。让按钮向数据源发送消息、更新数据并重新显示您的 viewController。


推荐阅读