Итак, у меня есть коллекция под названием «Черновики», которая содержит несколько документов с автоматическим идентификатором.Каждый документ содержит поля «имя» и «подробности».Каждый документ отображается в tableViewCell в «nameLabel» и «detailsLabel».То, что я хотел бы сделать, это когда пользователь нажимает на кнопку в верхней части экрана First viewController, создается копия коллекции «Черновики» и вставляется под новым именем коллекции под названием «Сообщения».Эта коллекция затем ссылается на Second ViewControllers tableViewCells, как и на First ViewController, только на этот раз на него ссылаются в коллекции «Messages».Проведя некоторые исследования, я смутно склоняюсь к тому, что в ответе используются облачные функции, которые по существу создают копию коллекции и вставляют ее с новым именем коллекции.Несмотря на то, что я относительно новичок в кодировании и создании баз данных, я не знаю, как это сделать, и не знаю, является ли это правильным решением.Пожалуйста, кто-то может помочь, любая помощь очень ценится!Спасибо!
Первый ViewController
func loadDrafts() {
let userRef = db.collection("Users").document(user!)
let draftsRef = userRef.collection("Drafts")
exercisesRef.getDocuments { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
if let snapshot = querySnapshot {
for document in snapshot.documents {
let data = document.data()
let name = data["name"] as? String ?? ""
let details = data["details"] as? String ?? ""
let newDrafts = DraftMessages(name: name, details: details)
self.array.append(newDrafts)
}
self.tableView.reloadData()
}
}
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! DraftsCell
cell.nameLabel.text = array[indexPath.row].name
cell.detailsLabel.text = array[indexPath.row].details
return cell
}
@IBAction func goButton(_ sender: UIButton) {
\\ Add code here to create copy of previous collection "Drafts" and paste in new collection "Messages"
}
Второй ViewController
func loadData() {
let userRef = db.collection("Users").document(user!)
userRef.collection("Messages").getDocuments() { (querySnapshot, err) in
if let err = err {
print("Error getting documents: \(err)")
} else {
for document in querySnapshot!.documents {
let data = document.data()
let name = data["name"] as? String ?? ""
let details = data["details"] as? String ?? ""
let newMessages = Messages(name: name, details: details)
self.array.append(newMessages)
}
self.tableView.reloadData()
}
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! MessagesCell
cell.nameLabel.text = array[indexPath.row].name
cell.detailsLabel.text = array[indexPath.row].details
return cell
}