首先可以有人幫我想出一個更好的標題?我只是不知道這一個正確的術語。如何創建一個將數據插入塊的函數
這裏是我的代碼,
func loadPublicFeed() {
ref = FIRDatabase.database().reference()
ref.child("brackets").observeSingleEvent(of: FIRDataEventType.value, with: { (snapshot) in
if let bracketsSnapshot = snapshot.children.allObjects as? [FIRDataSnapshot] {
for brackets in bracketsSnapshot {
if let bracketsDict = brackets.value as? Dictionary <String, Any> {
let key = brackets.key as String
let post = BracketsPublicFeed(postKey:key, postData: bracketsDict)
self.posts.insert(post, at: 0)
}
}
}
self.stopRefresher()
self.collectionView.reloadData()
self.watchlistClicked = false
})
}
下載數據,然後做的東西。我想把這個函數重構它,所以我可以調用重構函數,並將它們添加到其中。
它可能是這個樣子,
func loadFeedTest() {
fetchTest.loadPublicFeed(collectionView: self.collectionView, completionHandler: {() -> Void in
self.stopRefresher()
self.collectionView.reloadData()
self.watchlistClicked = false
})
我已經使用completionHandler
像func loadPublicFeed(completionHandler:() -> Void)
那麼代碼嘗試。我做了很多變化。我覺得我可能會走在正確的道路上,但我無法指出這一點。
如果你想使用一個完成處理程序,你可以使用它。你可以檢查我的答案。有關swift中閉包的更多信息,我建議您閱讀此文檔https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Closures.html – KrishnaCA