let shelter = Shelter(id: Int(value.id), title: value.title, image: value.image, availableSpaces: value.available, distance: value.distance, gender: value.gender)
Здесь value
имеет тип [String:Any]
. Так что вы не можете сделать value.title
. Вам нужно сделать value["title"] as? String ?? ""
и аналогично для идентификатора, изображения, расстояния и т. Д. c.
Таким образом, окончательный код становится:
let shelter = Shelter(id: Int(value["id"], title: value["title"], image: value["image"], availableSpaces: value["available"], distance: value["distance"], gender: value["gender"])
Уменьшить его соответственно.
ОБНОВЛЕНИЕ
замените ваш код этим
if let shelter = Shelter(id: value["id"] as? Int ?? -1, title: value["title"] as? String ?? "", image: value["image"] as? String ?? "", available: value["available"] as? Int ?? -1, distance: value["distance"] as? Double ?? -1, gender: value["gender"] as? String ?? "") {
self.shelters.append(shelter)
} else {
print("provided data is wrong.")
}