Я новый разработчик Swift.Я использую Swift 4.2 и Xcode 10.1.
Я пытаюсь создать массив строк из моментальной копии Firebase.Я могу сделать это, настроив структурную модель и используя инициализатор, но когда я хочу сделать это непосредственно в коде без отдельной структуры, это не работает.Вот мой код:
// Get the likers
dbRef.child("likers").observeSingleEvent(of: .value) { snapshot in
// Declare an array to hold the Likers
var retrievedLikers = [String]()
// Loop through the retrieved likers and put into the array
for child in snapshot.children {
let snap = child as! DataSnapshot
let dict = snap.value as! [String:Any]
let likerId = dict["userId"] as? String ?? ""
print (likerId)
retrievedLikers.insert(likerId, at: 0)
}
likers = retrievedLikers
}
Моя модель данных Firebase выглядит следующим образом:
Я пробовал несколько методов.Код выше является самым последним, основанным на другом предложении SO.
Проблема в том, что я не могу создать словарь с snap.value.Snap имеет правильные данные.Я получаю сообщение об ошибке «Невозможно указать значение типа« __NSCFString »для« NSDictionary ». Но снимок отображается в виде словаря. Вот снимок экрана:
Любая помощь будет признательна. Я пытался решить эту проблему в течение 3 часов.