【问题标题】:Swift Diffable Snapshot - Add new Section to Snapshot and Reload Collection ViewSwift Diffable Snapshot - 将新部分添加到快照并重新加载集合视图
【发布时间】:2021-10-26 23:51:12
【问题描述】:

我有一个包含部分和开头的集合视图。我想在用户创建数据并在新部分中显示数据后添加一个新部分。这是我尝试过但失败的代码。运行代码后新部分不出现。

var snapshot = self.collectionView.diffableDataSource.snapshot()

let recentlySection = Section(title: "Recently Colored",
                                      cells: [userPicture],
                                      sectionType: .recentlyColored)
        
snapshot.appendSections([recentlySection])
snapshot.appendItems([userPicture], toSection: recentlySection)

self.collectionView.diffableDataSource.apply(snapshot, animatingDifferences: true)
self.collectionView.reloadData()

谢谢!

【问题讨论】:

  • 你不应该在使用 diffable 框架时调用reloadData。重点是您将其留给系统来满足这些变化。在不了解您的设置的情况下,应用与集合视图分离时应该足够了。
  • 感谢您的回复。我完全同意你的看法。这是我第一次使用 diffable 框架。我修好了它。干杯。

标签: swift uicollectionview snapshot diffabledatasource uicollectionviewdiffabledatasource


【解决方案1】:

我已经解决了我的问题。如果有人遇到同样的问题,我会在这里留下答案。我忘记将新部分添加到我的收藏视图部分列表中。 添加这一行解决了我的问题。

self.collectionView.sections.insert(recentlySection, at: 2)

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多