【发布时间】:2020-07-15 06:31:27
【问题描述】:
我想显示一些来自 Firestore 的数据,此时只有 3 个文档,有 3 个字段。
这是我在 viewDidLoad() 中调用的 loadData 函数:
func loadDevices() {
//clear devices array
self.devices.removeAll()
//get user's devices
db.collection("devices").whereField("userId", isEqualTo: "{USER_ID}")
.getDocuments() { (snap, err) in
if let err = err {
print("Error getting devices: \(err)")
} else {
for deviceItem in snap!.documents {
let data = deviceItem.data()
let device = Device(data: data)
self.devices.append(device)
self.collectionView.reloadData()
// DispatchQueue.main.async {
// self.collectionView.reloadData()
// }
}
}
}
从 Firestore 加载 3 条记录大约需要 2 秒。 如果我用硬编码数组测试它:
func loadDevices() {
devices.append(Device(id: "1", room: "test", userId: "dddd"))
devices.append(Device(id: "2", room: "test2", userId: "dddd2"))
devices.append(Device(id: "3", room: "test3", userId: "dddd3"))
}
它会立即加载。 我的代码有问题吗?
【问题讨论】:
标签: ios swift firebase google-cloud-firestore uicollectionview