Застрял, пытаясь провести пальцем влево по событию, чтобы оно удалялось из TableView и удалялось из базы данных реального времени Firebase. Это то, что у меня есть до сих пор. Застрял в реализации, так что это соответствует моему рабочему проекту.
База данных Firebase
Табличное представление
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
let ref = Database.database().reference(fromURL: yourProjectURL)
let eventRef = ref.child("events").child(postEvents[indexPath.row].key)
// ^^ this only works if the value is set to the firebase uid, otherwise you need to pull that data from somewhere else.
postEvents.removeValue()
postEvents.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
}
}
что входит в ".reference (fromURL: yourProjectURL)" для меня? is It -> .child ("events")
Класс события
struct Events {
let eventId: String
let eventName: String
let city: String
let state: String
let country: String
let startDate: String
let endDate: String
let itinerary: String
let isPrivate: Bool
var members: [String]
var isJoined : Bool
let creator : String
init?(eventId: String, dict: [String: Any]) {
//let dateFormatter = DateFormatter()
//dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss +zzzz"
guard let eventName = dict["eventName"] as? String,
let city = dict["city"] as? String,
let country = dict["country"] as? String,
let state = dict["state"] as? String,
let startDate = dict["startDate"] as? String,
let endDate = dict["endDate"] as? String,
let itinerary = dict["itinerary"] as? String,
let creator = dict["creator"] as? String,
let eventType = dict["eventType"] as? String
else { return nil }
self.eventName = eventName
self.city = city
self.country = country
self.state = state
self.startDate = startDate
self.endDate = endDate
self.itinerary = itinerary
self.isPrivate = eventType == "private" ? true : false
self.eventId = eventId
var members = [String]()
if let dic = dict["members"] as? [String:String] {
for (_,value) in dic {
members.append(value)
}
}
self.isJoined = members.contains(Auth.auth().currentUser!.uid)
self.members = members
self.creator = creator
}}
При postEvents.removeValue () я получаю сообщение об ошибке «Значение типа '[Events]' не имеет члена 'removeValue' ". Как мне это исправить?