我目前在使用UITableViewDiffableDataSource
.
我想试一试这个新功能,所以我在网上看了很多教程,但似乎没有一个能回答我的问题。
在我当前的 viewController 中,我有一个UITableView
, 有 3 个不同的对象(每个对象都有不同的类型),但是UITableViewDiffableDataSource
是一个强类型。
喜欢:dataSource = UITableViewDiffableDataSource <SectionType, ItemType>
我所有的部分都充满了类似的东西
func numberOfSections(in tableView: UITableView) -> Int {
return 3
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if section == 0 {
return bigObject.ObjectsOfType1.count
} else if section == 1 {
return bigObject.ObjectsOfType2.count
} else {
return bigObject.ObjectsOfType3.count
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier) as! CustomTableViewCell
if indexPath.section == 0 {
cell.buildWithFirstObject(obj: bigObject.ObjectsOfType1[indexPath.row])
} else if indexPath.section == 1 {
cell.buildWithFirstObject(obj: bigObject.ObjectsOfType2[indexPath.row])
} else {
cell.buildWithFirstObject(obj: bigObject.ObjecstOfType3[indexPath.row])
}
}
在我的情况下使用 diffable dataSource 有技巧吗?
任何帮助表示赞赏!谢谢你读我:)