Type ‘Any’ Has no Subscript Members in Xcode 8.1 Swift 3

You need to cast snapshot.value as? [String: AnyObject] first because the compiler does not know what type of snapshot.value is. Like this: if let value = snapshot.value as? [String: AnyObject] { let title = value[“title”] as! String let message = value[“message”] as! String self.posts.insert(contentsOf: postStruct(title: title, message: message), at: index, 0) self.tableView.reloadData() }