gpt4 book ai didi

ios - Swift:我可以在集合/表格 View 单元格中加载 Url 数据吗?

转载 作者:行者123 更新时间:2023-11-28 13:51:55 36 4
gpt4 key购买 nike

我在 UITableView 单元格中有一个水平滚动的 Collection View ,实现了与 Netflix 相同的 View 。

目前,我在包含 TableView 的 View Controller 中加载 URL 数据,并在包含 collectionView 的 UITableViewCell 中传递数据数组,然后呈现 Collection View 单元格。

但我觉得使用这种方法缺乏控制。例如,UI 管理、隐藏、根据 URL 数据加载和错误显示 View 等。

I tried loading URL data inside table view cell and that works perfectly fine for me but I don't think that's appropriate to do, as only controllers should control everything.

我用来在我的 Controller 中加载数据的闭包是 -

private func fetchData() {
let id = UserDefaults.standard.getUserId()
Service.shared.fetch(userId: id) { (data, error) in
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.5, execute: {
guard error == nil else {
print(error?.localizedDescription ?? "Error")
return
}
let result = data?.count != 0 ? "Success" : "Failure"

switch result {
case ResultType.Failure.rawValue:
print("Failure")
case ResultType.Success.rawValue:
if let data = data {
self.data = data
}
default: break
}
})
}
}

Back to the Question, Is it fine loading the data inside UITableViewCell in order to hide/show or animate UICollectionView inside that UITableViewCell?

此外,假设我必须加载 4-5 个 URL 数据并在每个自定义表格 View 单元格中呈现它们,这些单元格可能包含也可能不包含 Collection View 。

复杂!

最佳答案

您可以在 View 中加载数据,但这不是一个好的架构。它阻碍了可重用性并混合了职责。此外,表格 View 单元格将被重用,这最终将导致奇怪的数据加载行为和可能的错误。

我建议提取加载到自定义类中的数据,并在 View Controller 中使用该类。通过这种方式,您的数据加载与 Controller 和 View 分离,提供了最大的灵 active 。

关于ios - Swift:我可以在集合/表格 View 单元格中加载 Url 数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54482060/

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