# #ios #swift #firebase #google-cloud-firestore
Вопрос:
Я разрабатываю приложение для задач в Swift, я использую Firebase для сохранения данных для своего приложения Swift, но я не могу удалить его из коллекции, которая называется «задачи», удаляются только ячейки из представления таблицы. Я использую Swift 5 и Xcode 12.5.1
Любая помощь приветствуется.
class ToDoViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.dataSource = self
}
@IBOutlet weak var statusCheckBox: UIImageView!
@IBOutlet weak var titleTextField: UITextField!
@IBOutlet weak var bodyTextField: UITextView!
@IBOutlet var blurView: UIVisualEffectView!
@IBOutlet var popupView: UIView!
@IBOutlet weak var tableView: UITableView!
let db = Firestore.firestore()
var tasks: [Task] = []
// Getting number of existing tasks
extension ToDoViewController: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tasks.count
}
// Creating tasks from reusable cell
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: K.FStore.reusableCell, for: indexPath)
cell.textLabel?.text = tasks[indexPath.row].title
cell.detailTextLabel?.text = tasks[indexPath.row].body
if tasks[indexPath.row].status {
cell.accessoryType = UITableViewCell.AccessoryType.checkmark
} else {
cell.accessoryType = UITableViewCell.AccessoryType.none
}
return cell
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
guard editingStyle == .delete else { return }
tasks.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .automatic)
// here I need to delete data from Firebase
}
}
Комментарии:
1. Огневая база… О какой услуге вы говорите?
2. Я использую Cloud Firestore
3. Вы поделились довольно большим количеством кода. Когда вы устанавливаете точки останова в этом коде и запускаете его в отладчике, какая первая строка кода делает не то, что вы ожидаете?
4. Проблема в том, что в документации вам нужно передать идентификатор документа, чтобы удалить его, и я не понимаю, как его получить. Мне нужно реализовать эту функциональность в конце кода, последней функции