首先可以有人帮我想出一个更好的标题?我只是不知道这一个正确的术语。如何创建一个将数据插入块的函数
这里是我的代码,
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