gpt4 book ai didi

swift - 如何使用segue firebase发送数据?

转载 作者:行者123 更新时间:2023-11-30 10:45:01 24 4
gpt4 key购买 nike

我有一个函数可以从我的 firebase 数据库接收所有数据,并且数据显示在表格 View 中,当我单击表格 View 单元格时,它会通过 segue 打开一个新窗口,其中包含更多详细信息。如何通过此从我的 Firebase 发送数据?

func getAllFIRData(){
var ref: DatabaseReference
ref = Database.database().reference().child("Receitas")

ref.observe(.value) { (snapshot) in
self.receitaList.removeAll()
if let snapShot = snapshot.children.allObjects as? [DataSnapshot]{
for snap in snapShot{
if let mainDict = snap.value as? [String: AnyObject]{
-----------> let nomeReceita = mainDict["nomeReceita"] as? String
-----------> let tempoReceita = mainDict["tempoPreparo"] as? String
-----------> let porcaoReceita = mainDict["porcaoReceita"] as? String
-----------> let ingredientesReceita = mainDict["ingredientesReceita"] as? String
-----------> let imageURL = mainDict["imageURL"] as? String

self.receitaList.append(ReceitaModel(nome: nomeReceita, tempo: tempoReceita, porcao: porcaoReceita, ingredientes: ingredientesReceita, imageURL: imageURL))
self.vrTableViewReceita.reloadData()
}
}
}
}
}



override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "proxTela" {
let svc = segue.destination as! DetailViewController

let indexPath:IndexPath! = vrTableViewReceita.indexPathForSelectedRow

svc.vrNomeReceita = nomeReceita <--------
svc.vrTempoReceita = tempoReceita <--------
svc.vrPorcaoReceita = porcaoReceita <--------
svc.vrIngredientesReceita = ingredientesReceita <--------
svc.vrImageView = imageURL <--------

}
}

最佳答案

修复:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "proxTela" {
let svc = segue.destination as! DetailViewController

if let indexPath = self.vrTableViewReceita.indexPathForSelectedRow{
let segueData : ReceitaModel
segueData = receitaList[indexPath.row]

svc.nome = segueData.nome!
svc.tempo = segueData.tempo!
svc.porcao = segueData.porcao!
svc.ingredientes = segueData.ingredientes!
svc.imagem = segueData.imageURL

}

}
}


override func viewDidLoad() {
super.viewDidLoad()

var ref: DatabaseReference
ref = Database.database().reference().child("Receitas")

ref.observe(.value) { (snapshot) in
self.receitaList.removeAll()
if let snapShot = snapshot.children.allObjects as? [DataSnapshot]{
for snap in snapShot{
if let mainDict = snap.value as? [String: AnyObject]{
let nomeReceita = mainDict["nomeReceita"] as? String
let tempoReceita = mainDict["tempoPreparo"] as? String
let porcaoReceita = mainDict["porcaoReceita"] as? String
let ingredientesReceita = mainDict["ingredientesReceita"] as? String
let imageURL = mainDict["imageURL"] as? String

self.receitaList.append(ReceitaModel(nome: nomeReceita, tempo: tempoReceita, porcao: porcaoReceita, ingredientes: ingredientesReceita, imageURL: imageURL))
self.vrTableViewReceita.reloadData()
}
}
}
}

关于swift - 如何使用segue firebase发送数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55909181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com