【发布时间】:2021-06-30 14:16:05
【问题描述】:
我正在使用 SwiftUI 在视图中生成这个动态列表(显示生成列表的一部分):
- 薰衣草
- 柠檬
- 石灰
- 石灰
- 芒果
如何从列表中删除重复项(例如 LIME)?
这是我生成列表视图的代码:
struct FlavorGroupList: View {
@ObservedObject private var viewModel = FlavorsViewModel()
var body: some View {
List(viewModel.flavors) { flavorListing in
VStack(alignment: .leading) {
Text(flavorListing.flavorGroup)
}
}
.onAppear() {
self.viewModel.fetchData()
}
}
}
这是我的视图模型代码:
class FlavorsViewModel: ObservableObject {
@Published var flavors = [Flavor]()
private var db = Firestore.firestore()
func fetchData() {
db.collection("flavors").order(by: "flavorGroup").addSnapshotListener { (querySnapshot, error) in
guard let documents = querySnapshot?.documents else {
print("No documents")
return
}
self.flavors = documents.compactMap { (queryDocumentSnapshot) -> Flavor? in
return try? queryDocumentSnapshot.data(as: Flavor.self)
}
}
}
}
这是我的型号代码:
struct Flavor: Identifiable, Codable {
@DocumentID var id: String? = UUID().uuidString
var code: String
var descriptors: [String]
var flavorGroup: String
var keywords: [String]
var legislation: String
var name: String
}
我正在从 Firestore 数据库中导入数据。
提前感谢您提供的任何帮助。
【问题讨论】:
-
你关心数组中元素的顺序吗?
标签: swift swiftui swiftui-list