gpt4 book ai didi

ios - 如何创建将数据插入 block 的函数

转载 作者:可可西里 更新时间:2023-11-01 01:27:59 25 4
gpt4 key购买 nike

首先有人可以帮我想出一个更好的标题吗?我只是不知道关于这个的正确术语。

这是我的代码,

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

})
}

下载数据然后做事。我想对这个函数进行重构,这样我就可以调用重构后的函数并添加这些

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) 然后是代码。我已经做了很多变化。我觉得我可能走在正确的道路上,但我无法确定这一点。

最佳答案

您可以通过以下方式重构您的函数:

func loadPublicFeed(collectionView: UICollectionView, completionHandler:() -> Void) {

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)
}
}
}
completionHandler();
})
}

关于ios - 如何创建将数据插入 block 的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40514967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com