Arka Plan getirilirken: bir hesaba kaydolmak içinobserveSingleEvent (bir: ile :) eski verileri
Ben yeni kullanıcıların bir kullanıcı adı, e-posta oluşan bir kayıt formu (tamamlamak bir uygulamayı, ve bir şifre var). Yeni kullanıcı formu gönderdiğinde, uygulama, kullanıcı adının önceden alınmış olup olmadığını görmek için Firebase Veritabanını kontrol eder. Sorun şu ki, observeSingleEvent(of:with:)
en yeni verileri almıyor. Verileri doğrudan Firebase konsolundan güncellediğimde, değişiklikler observeSingleEvent(of:with:)
döndürülen sonuçlarına geri yansıtılmaz. Uygulama yeniden başlatıldığında bile, yeni veri değişiklikleri iade edilmez.
Sorun üzerinde gördüğüm tek şey here. Bir kullanıcı, observeSingleEvent(of:with:)
'u kullanırken kalıcılık sağlamayacağını söylüyor. Fakat ısrarlı olma engelim var. Ayrıca, keepSynced()
'u FIRDatabase
örneğinde false olarak ayarladım (ve ben de doğruyu denedim). İkisi de şanssız.
İşte çalışıyorum ne bir örnek:
let usersDatabaseReference = FIRDatabase.database().reference().child("users")
usersDatabaseReference.keepSynced(false)
// Query the database to see if the username is available
// The user with the username "mark" was removed from the database via the Firebase console
let username = "mark" // This user used to exist in the database (and was previously added through the app).
usersDatabaseReference.child(username).observeSingleEvent(of: .value, with: { (snapshot) in ... })
Yukarıdaki kod bloğu en yeni veri (kullanıcı "işareti" var olmamalıdır bir) dönmelidir.
Başka birinin bu soruna katılıp çıkmadığını ya da herhangi birinin olası çözümleri olup olmadığını merak ediyorum.
Not: iOS 10.1 kullanılarak geliştirilmesi ve sana anahtar olarak adı kullanarak JSON veri modelini planı ayrı tavsiye 3.
Bunu zaten yaptım. Şu anda veritabanında bir kullanıcı yolu var. Kullanıcıları tanımlamak için kullanıcı adlarını kullanıyorum. – hvasam