ios - 在表格视图中控制“程序流程”
问题描述
再次问我一个简短的问题,因为 Swift 让我对 ATM 感到困惑——但我希望我能很快适应它;)
好的,所以我想知道的是:当我调用 TableView 并生成不同的单元格时,有没有办法在几次之后中断并等待用户输入并对它做出反应?例如:第二个单元格类似于“向北或向西”,之后我想要一个用户输入 - 带有按钮 - 在他喜欢的任何方向上,并用以下单元格对其做出反应(不同的故事部分 - >来自其他阵列?)。
让我感到困惑的是,我只是在 viewDidLoad 中加载了整个应用程序,我不知道如何控制其中的“流”。
如果有人能告诉我如何实现这一点,我将不胜感激,甚至可以简单地描述一下我如何控制方法中的程序流。我真的认为这些知识和理解会让我对 Swift 的理解更上一层楼。
提前致谢!
这是我当前的代码,它不包括命名问题的任何功能,因为我不知道如何管理它:)
import UIKit
class ViewController: UIViewController {
var storyLines = ["Test Cell 1 and so on first cell of many","second cell Go to North or West","third Cell - Buttons?"]
var actualTables = 1
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
tableView.dataSource = self
}
@IBOutlet weak var tableView: UITableView!
}
extension ViewController : UITableViewDataSource{
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return storyLines.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TxtLine", for: indexPath)
cell.textLabel?.text = storyLines[indexPath.row]
cell.textLabel?.numberOfLines = 0;
cell.textLabel?.lineBreakMode = .byWordWrapping
return cell
}
}
解决方案
Cocoa 是事件驱动的。你总是在等待用户输入。这是实现 Cocoa 配置的方法来告诉您的问题。
因此,在这里,例如,如果您想了解用户何时按下按钮,您可以使用 action-and-target 配置按钮,以便在用户按下时调用视图控制器中的方法。这样,您的方法可以查看用户按下了哪个按钮并重新制作表格视图的数据模型(您的storyLines
数组)并使用新数据重新加载表格。
推荐阅读
- java - 为什么加载数据时无限循环休眠
- docker - 如何在 Visual Code 中执行 docker 容器?
- sql-server - SSAS Cubes Discovery Method for DSV 建立维度和源视图之间的关系
- java - 工具栏上的向上按钮存在但不工作 MVC 架构应用程序棘手的实现
- macos - Android Studio 在 Mac Catalina 测试版上意外退出
- express - 如何在 swagger-api 上设置自定义端口号?
- reactjs - 如何使用酶测试父母将“this”传递给孩子
- typescript - TypeScript 中的导出默认类型
- postgresql - 需要创建一个触发器,在插入后增加表中的值
- c# - 涉及硬件通信的单元测试值得吗?