在Swift中,要从Firestore检索数组,我使用以下代码:
currentDocument.getDocument { (document, error) in
if let document = document, document.exists {
let people = document.data()!["people"]
print(people!)
} else {
print("Document does not exist")
}
}
我收到的数据看起来像这样
(
{
name = "Bob";
age = 24;
}
)
然而,如果我只想要获取名称,通常我会执行以下操作:print(document.data()!["people"][0]["name"])
。
但是我得到的响应是Value of type 'Any' has no subscripts
如何访问people
数组中该对象内部的名称键?
people[0]
的结果。但是当我尝试获取people[0]["name"]
时,它告诉我Cannot subscript a value of type '[Any]' with an index of type 'String'
。 - Richard Reis[Any]
转换为[Any : String]
,但是我得到了Type 'Any' does not conform to protocol 'Hashable'
的错误信息... 这就是我卡住的地方... - Richard Reispeople[0]
是一个字典,其中每个键都是字符串,而值可以是任何类型(因为它既可以是字符串也可以是数字)。因此,将people[0]
转换为[String: Any]
就是正确的转换方式。 - Frank van Puffelen