Как я могу получить доступ к информации, находящейся на «более глубоком» уровне моментального снимка? Всегда ли нужно начинать другой запрос? Чтобы показать вам, что я имею в виду, у меня есть скриншот из моей структуры: Screenshot of DataStructureВложенные данные в Firebase
Я загружаю все сообщения в свой запрос, могу прочитать информацию об авторе и т. Д., Но как я могу получить информацию внутри опций? Я попытался следующие:
ref.child("posts").child("details").observe(.childAdded, with: { (snapshot:FIRDataSnapshot) in
if snapshot.value == nil {
return
}
let post = Post()
guard let snapshotValue = snapshot.value as? NSDictionary else {
return
}
post.postID = snapshot.key
post.title = snapshotValue["title"] as? String
post.postDescription = snapshotValue["description"] as? String
if (post.postDescription == ""){
post.postDescription = "No description has been entered for this post.."
}
post.timestamp = snapshotValue["timestamp"] as? NSNumber
let options = snapshotValue["options"]
print(options)
при печати вариантов, я могу видеть информацию, но когда я пытаюсь бросить его NSDictionary или что-то, чтобы получить доступ к нему, он печатает ноль? Я также могу определить новый атрибут, например post.options, если это может помочь? Параметры не всегда равны 0 и 1, его переменная, поэтому мне нужно прокручивать их. Как я могу это достичь?
Если я правильно понял, 'print (options)' на самом деле печатает ваши данные, верно? Кажется, из образа, что параметры являются массивом, поэтому, если вы переводите его в словарь, это не сработает. Может быть, итерации через параметры с помощью ... для каждого цикла и распечатать содержимое, чтобы узнать, получаете ли вы свои данные. – Prientus
ok. Я попробую, что –
Мне нужно каким-то образом его отличить, в противном случае параметры имеют тип Any? .. поэтому я могу " t используйте каждый цикл для типа any –