I am getting this error: \"Type \'Any\' has no subscript members\" when trying to run this block of code:
init(snapshot: FIRDataSnapshot) {
key = snapsh
snapshot.value
has the type Any?
, so you need to cast it to the underlying type before you can subscript it. Since snapshot.value!.dynamicType
is NSDictionary
, use an optional cast as? NSDictionary
to establish the type, and then you can access the value in the dictionary:
if let dict = snapshot.value as? NSDictionary, postContent = dict["content"] as? String {
content = postContent
} else {
content = ""
}
Or, you can do it as a one-liner:
content = (snapshot.value as? NSDictionary)?["content"] as? String ?? ""