如何从混合结构中获取名称以保存到 Firebase



我在使用结构和搜索函数方面相当陌生。在我的表格视图中,我有一个蔬菜清单,您可以勾选。现在我希望能够将name复选标记的蔬菜保存在我的火力基地中。我在网上尝试了一些解决方案,但出现错误。

这是我正在尝试修复的代码。

struct TypeOfVeggie {
let veggieName: String
var checkmarked: Bool
}
var veggies = [TypeOfVeggie(veggieName: "Carrots", checkmarked: false), TypeOfVeggie(veggieName: "Letuce", checkmarked: false), TypeOfVeggie(veggieName: "Tomato", checkmarked: false), TypeOfVeggie(veggieName: "Pickle", checkmarked: false)]
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if isSearching {
filteredVeggies[indexPath.row].checkmarked.toggle()
let index = veggies.firstIndex{$0.name == filteredVeggies[indexPath.row].name}!
veggies[index].checkmarked.toggle()
} else {
veggies[indexPath.row].checkmarked.toggle()
}
tableView.reloadRows(at: [indexPath], with: .automatic)
}
@IBAction func submitButton(_ sender: Any) {
let checkedVeggies = veggies.filter{$0.isChecked} // do i use || or &&
let UserDictionary : [String:Any] =
["Veggie List": checkedVeggies]
Database.database().reference().child("User").child(currentUID!).updateChildValues(UserDictionary)
}

我希望能够在Firebase中保存蔬菜的checkmarked名称(字符串(。

如果你想要一个名称数组而不是TypeOfVeggie一个数组来映射数组:let checkedVeggies = veggies.filter{$0.checkedMarked}.map{$0.name}. 这个答案来自另一个开发人员

最新更新