【发布时间】:2021-02-07 18:10:13
【问题描述】:
我有一个 tableViewController,它从名为“paperHole”的 Firestore 集合中获取文档,我有一个 refreshControl,它是一个刷新 tableView 的 UIrefreshControl,但在这个 refreshControl 操作中,我只想获取记录在 Firestore 中的最后一个文档。我的意思是,如果集合“paperHole”有 3 个文档(A、B、C)并且该集合中记录的最后一个文档是 C,我只想获取文档 C。 我尝试使用 limit(toLast: 1) 但它对我不起作用
import UIKit
import FirebaseFirestore
import Firebase
import FirebaseAuth
import UserNotifications
class OrderTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate {
@IBOutlet var order5: UITableView!
struct GlobalVariable{
static var myString = String()
}
var db: Firestore!
var street = [String]()
var firstName = [String]()
var lastName = [String]()
var blockNumber = [String]()
var phone = [String]()
var reciept = [String]()
var houseNumber = [String]()
var price = [String]()
var amount = [String]()
var block = [String]()
var Area = [String]()
var names = [String]()
var refreshControl = UIRefreshControl()
override func viewDidLoad() {
super.viewDidLoad()
refreshControl.attributedTitle = NSAttributedString(string: "")
refreshControl.addTarget(self, action: #selector(self.refresh(_:)), for: .valueChanged)
order5.addSubview(refreshControl)
order5.separatorStyle = .none
order5.dataSource = self
order5.delegate = self
db = Firestore.firestore()
}
@objc func refresh(_ sender: AnyObject) {
loadData1Refresh()
}
func loadData1Refresh() {
Firestore.firestore().collection("paperHole").limit(toLast: 1).getDocuments() {
(querySnapshot, err) in
if let err = err
{
print("Error getting documents: \(err)");
}
else
{
var count = 0
for document in querySnapshot!.documents {
count += 1
print("\(document.documentID) => \(document.data())");
self.firstName.append(document.get("firstname") as? String ?? "")
self.lastName.append(document.get("lastname") as? String ?? "")
self.street.append(document.get("street") as? String ?? "")
self.blockNumber.append(document.get("blockNumber") as? String ?? "")
self.Area.append(document.get("area") as? String ?? "")
self.phone.append(document.get("phone") as? String ?? "")
self.reciept.append(document.get("reciept") as? String ?? "")
self.houseNumber.append(document.get("houseNumber") as? String ?? "")
self.price.append(document.get("total price") as? String ?? "")
self.amount.append(document.get("amount") as? String ?? "")
}
}
self.order5.reloadData()
}
}
【问题讨论】:
标签: swift firebase uitableview firebase-realtime-database google-cloud-firestore