【发布时间】:2018-02-18 18:17:06
【问题描述】:
我有一个从 Firebase 读取数据的 UICollectionView,我想要某种活动指示器,同时它正在读取数据。
我希望在点击 TabBar 中的 UICollectionView 选项卡后立即开始运行活动指示器,并且我希望它停止并且在从 Firebase 加载完成后加载视图/uicollectionView。
我看到了这个帖子:
Show Activity Indicator while data load in collectionView Swift
但我无法完全理解它,因为我不知道如何在那里集成我的 UICollectionView。
编辑:
这是我从 Firebase 读取的代码:
self.ref = Database.database().reference()
let loggedOnUserID = Auth.auth().currentUser?.uid
if let currentUserID = loggedOnUserID
{
// Retrieve the products and listen for changes
self.databaseHandle = self.ref?.child("Users").child(currentUserID).child("Products").observe(.childAdded, with:
{ (snapshot) in
// Code to execute when new product is added
let prodValue = snapshot.value as? NSDictionary
let prodName = prodValue?["Name"] as? String ?? ""
let prodPrice = prodValue?["Price"] as? Double ?? -1
let prodDesc = prodValue?["Description"] as? String ?? ""
let prodURLS = prodValue?["MainImage"] as? String
let prodAmount = prodValue?["Amount"] as? Int ?? 0
let prodID = snapshot.key
let prodToAddToView = Product(name: prodName, price: prodPrice, currency: "NIS", description: prodDesc, location: "IL",
toSell: false, toBuy: false, owner: currentUserID, uniqueID: prodID, amount: prodAmount, mainImageURL: prodURLS)
self.products.append(prodToAddToView)
DispatchQueue.main.async
{
self.MyProductsCollection.reloadData()
}
}
) // Closes observe function
【问题讨论】:
-
您不必明确了解如何将activityIndicator 与collectionView 集成。您必须了解如何在执行后台任务时更新 UI。
标签: ios swift firebase uicollectionview activity-indicator