首页 > 解决方案 > 在表格视图中控制“程序流程”

问题描述

再次问我一个简短的问题,因为 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
    }
}

标签: iosswiftxcode

解决方案


Cocoa 是事件驱动的。你总是在等待用户输入。这是实现 Cocoa 配置的方法来告诉您的问题。

因此,在这里,例如,如果您想了解用户何时按下按钮,您可以使用 action-and-target 配置按钮,以便在用户按下时调用视图控制器中的方法。这样,您的方法可以查看用户按下了哪个按钮并重新制作表格视图的数据模型(您的storyLines数组)并使用新数据重新加载表格。


推荐阅读