我正在尝试使用 firstore 和 swiftui 编写一些测试,我可以创建和读取,但现在我不知道如何列出唯一数据,
Posted
技术标签:
【中文标题】我正在尝试使用 firstore 和 swiftui 编写一些测试,我可以创建和读取,但现在我不知道如何列出唯一数据,【英文标题】:I'm trying to write some test with firstore and swiftui, I can create and read, but now i don't know how to list unique data, 【发布时间】:2020-02-04 03:32:22 【问题描述】:你可以看到我在这个文档中有两个字段,“ing01”和“nameReceta”这个集合中的每个文档都有相同的名称字段,在“ing01”字段中我有“Pimienta”的描述,我的应用程序它允许在“ing01”中有更多带有“Pimienta”的文档,这很好,但是当我想列出它时,我只需要列出一个“Pimienta”,我怎样才能删除其他的?
我有这个数据模型
struct ModeloRecetasIng : Identifiable, Hashable, Equatable
var id: String
var nameReceta: String
var ing01: String
在这里我得到了数据,它工作正常。
class ingredientesAdd : ObservableObject
// @Published var datosNoDupl = [DataNoDuplicates]()
@Published var datas = [ModeloRecetasIng]()
init()
// Borra el cache
let settings = FirestoreSettings()
settings.isPersistenceEnabled = false
let db = Firestore.firestore()
db.settings = settings
// Borra el cache
db.collection("DespensaIng01").getDocuments (snap, err) in
if err != nil
print((err?.localizedDescription)!)
return
for i in snap!.documents
let id = i.documentID
let nameReceta = i.get("nameReceta") as! String
let ing01 = i.get("ing01") as! String
//
self.datas.append(ModeloRecetasIng(id: id, nameReceta: nameReceta, ing01: ing01))
// I'm trying to use set but it doesn't work
let uniqueUnordered = Array(Set(self.datas))
self.datas = uniqueUnordered
print(self.datas)
当我拿到我的打印件时,我看到了这个
Pimienta
Pimienta
Zanahoria
Zanahoria
Zanahoria
我只想要这个
Pimienta
Zanahoria
【问题讨论】:
【参考方案1】:已解决.. 只需在 Firestore 中使用自定义 ID,不再重复,现在我只需对 de 数量求和
【讨论】:
以上是关于我正在尝试使用 firstore 和 swiftui 编写一些测试,我可以创建和读取,但现在我不知道如何列出唯一数据,的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI 中的 List 是不是复用类似于 UITableView 的单元格?
应用 Frame 修饰符时出现 ScrollView 布局错误
在 Flutter 中捕获云 Firestore 文档快照错误