从单元格强制转换UIButton以运行查询并将结果发送到另一个单元格

时间:2019-07-01 18:53:08

标签: swift xcode uitableview

我正在从VC查询数据,并将输出发送到另一个具有TableViewCell的VC。将结果保存在单元格中,我试图对Firebase运行另一个查询,并在具有自定义原型单元格的另一个VC中显示结果。我能够在两个实例中手动运行查询,我的问题(困惑)是如何调用IBAction按钮来运行查询。我不知道如何转换单元格以运行查询并将performSegue转换为thirdVC

mainVC

@IBAction func getDataPressed(_ sender: Any) {
     query......
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "cell1" {
       let vc = segue.destination as! secondVC
       vc.data = data
       self.performSegue(withIdentifier: "cell1", sender: self)
    }
}

secondVC

func tableView(_ tableView: UITableView, numberOfRowsInSection section: 
    Int) -> Int {
    return info.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: 
IndexPath) -> UITableViewCell {

    if let cell = tableView.dequeueReusableCell(withIdentifier: 
    "secondVcCell", for: indexPath)
    as? secondVcCell {
    cell.configureCell(inf: info[indexPath.row])
    return cell
}

return UITableViewCell()

secondVcCell

var delegate: secondVC?

@IBAction func getDataPressed2(_ sender: Any) {
  query ........
}
   self.delegate?.performSegue(withIdentifier: "cell2", sender: self)

thirdVC

func tableView(_ tableView: UITableView, numberOfRowsInSection section: 
Int) -> Int {
return info2.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: 
IndexPath) -> UITableViewCell {

if let cell = tableView.dequeueReusableCell(withIdentifier:    "thirdVcCell", 
for: indexPath)
    as? dataCell2 {
    cell.configureCell(inf1: info2[indexPath.row])
    return cell
}

return UITableViewCell()

1 个答案:

答案 0 :(得分:0)

  1. 用于查询,只需在范围内键入IBAction按钮中的查询函数即可。

  2. 如果您要从Firebase中拉出,请使用
  3. 进行第二次强制转换,那么您将需要更改代码以包含Firebase DataBase或Firestore,如果您手动进行操作,则需要执行与第一次强制转换相同的操作,但是确保indexPath正确