swift - 从自身打开新的 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)
}
解决方案
我不认为这是一个好主意。您正在将 UIViewControllers 堆叠在另一个之上。一个更简洁的解决方案是为您的 viewController 提供数据源。让按钮向数据源发送消息、更新数据并重新显示您的 viewController。
推荐阅读
- python - 如何概括以下代码来绘制计数图?
- php - 有没有更好的方法在 PHP 中获取多个对象?
- c# - 如何从列表框中的选定项目向datagridview显示相应的数据?
- javascript - 哪个性能更好:在每个渲染上添加和删除事件侦听器 VS 运行 useEffect 来更新 ref
- ios - UIStackView 作为 XIB 的根视图
- javascript - 如何在类组件中处理从父事件处理程序向子事件处理程序传递的附加参数
- arangodb-php - 使用 PHP 将大量循环/批量插入到 ArrangoDB
- r - 两侧按行布局
- php - 用一个答案显示多个图像
- javascript - Angular Material表拖放列排序不正常