Обновлять только новые данные из Firebase в SwiftUI

Мой вопрос очень сложный, и я не очень хорошо владею английским, поэтому, пожалуйста, извините, если вы меня не понимаете.

У меня есть файл SwiftUI, который создает для каждого элемента в папке на моей базе данных специальную кнопку.

Если я коснусь этой кнопки, она скроется. Проблема в том, что я хочу, чтобы при перезагрузке файла SwiftUI отображались только те кнопки, которые я раньше не нажимал. (Я хочу сохранить, какие кнопки нажимаются). Проблема в том, что каждый раз, когда я перезагружаю файл SwiftUI, появляются новые кнопки, которые еще не задействованы.

Теперь мой вопрос: как я могу создать кнопку только для новых элементов в моей папке (на базе firebase). Старые один раз тоже должны отображаться, если их не тапнули.


person Community    schedule 23.03.2021    source источник


Ответы (1)


Вы можете хранить Bool в Firebase. Просто загрузите элементы, которые ложны, и когда вы нажмете кнопку, вы сделаете значение истинным.

person awex    schedule 23.03.2021
comment
Хорошая идея, но это не работает, потому что если вы войдете в систему с другой учетной записью, она должна пометить все как новое. - person ; 24.03.2021
comment
Итак, получите идентификатор документа из элемента, когда пользователь нажимает кнопку, чтобы скрыть, вы можете сохранить истину для этого пользователя в бэкэнде. Он будет скрывать только тех, кто нажимает кнопку, для других пользователей он будет отмечен как новый. - person awex; 25.03.2021
comment
Извините, я забыл сказать, что не все пользователи вошли в систему - person ; 25.03.2021
comment
Вы используете аутентификацию Firebase? - person awex; 25.03.2021
comment
да, но не каждый пользователь должен войти в систему, чтобы использовать приложение - person ; 27.03.2021
comment
Вы можете разрешить пользователям входить в систему с аутентификацией, но без пароля, электронной почты или номера телефона. Затем используйте их идентификатор аутентификации и сохраните на сервере. - person awex; 28.03.2021