Я пытаюсь обернуть голову вокруг Firebase. У меня есть почти готовое приложение, использующее его с некоторым успехом, однако его непредсказуемость привела к некоторой путанице.
Изначально я использовал в основном .observeSingleEvent для viewDidLoad для создания локальных объектов из базы данных, локального управления ими, а затем .setValue для их «резервного копирования» ... но в результате возникла среда, подверженная ошибкам. Ниже (простым языком) показано, что я пытаюсь вместо этого, однако теперь я получаю дубликаты в моем tableView.
Скажем, у меня есть приложение со списком продуктов, которое содержит 2d-массив для каждого пользователя; thingsToBuyArray содержит несколько вещей thingsToBuy, а groceryStoreArray содержит несколько groceryStore's и thingToBuyArray. Если пользователь впервые использует приложение, я хочу, чтобы для него уже был настроен один список. Вот что я бы сделал:
viewDidLoad() {
.observeSingleEvent to create array of the user’s keys
If the key array count is >=1,
.observe to create array of thingsToBuy, append to thingsToBuyArray
.observe to create array of groceryStores and include
thingsToBuyArray in each, append to groceryStoresArray
If key array is 0,
.setValue to create a groceryStore
.setValue to create a groceryList using key from store
.observe to create array of thingsToBuy , append to thingsToBuyArray
.observe to create array of groceryStores and include
thingsToBuyArray, append to groceryStoresArray
}
Any time user makes a change to date I use .setdata .
Заранее спасибо!