Я пытаюсь написать какой-нибудь тест с помощью firstore и swiftui, я могу создавать и читать, но сейчас я не знаю, как составить список уникальных данных, - PullRequest
0 голосов
/ 04 февраля 2020

Вы можете видеть, что у меня есть два поля в этом документе, "ing01" и "nameReceta", каждый документ в этой коллекции имеет одинаковые поля имени, в поле "ing01" у меня есть "Pimienta" в описании, мое приложение это позволяет больше документов с "Pimienta" в "ing01", и это нормально, но когда я хочу перечислить его, мне нужен только один "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 Ответ

0 голосов
/ 13 февраля 2020

Решено .. просто используя пользовательский идентификатор в FireStore, и больше не дублируется, и теперь мне нужно только суммировать количество

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...