问题标签 [diffabledatasource]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2473 浏览

uitableview - 具有多种细胞类型的 DiffableDataSource

我正在查看 iOS13 中可用的 DiffableDataSource(或在此处向后移植:https ://github.com/ra1028/DiffableDataSources )并且无法弄清楚如何在您的集合或表格视图中支持多种单元格类型。

Apple 的示例代码1具有:

这似乎迫使数据源成为单个单元格类型。如果我为另一种单元格类型创建一个单独的数据源——那么不能保证两个数据源没有同时apply调用它们——这会导致可怕NSInternalInconsistencyException——任何尝试动画的人都熟悉使用 . 手动插入/删除单元格performBatchUpdates

我错过了一些明显的东西吗?

0 投票
3 回答
5114 浏览

swift - 无法使用 iOS 13 中的 diffable 数据源使用 tableview 滑动删除

我正在更新 aUITableViewController以使用新的UITableViewDiffableDataSource,除了滑动删除之外,我一切正常。

这是我如何使用滑动删除的示例

但这在UITableViewControllerUITableViewDiffableDataSource

没有滑动,方法中的断点也不会被调用

我认为这是一个 beta 错误,但我更新到 Xcode 11 GM 并且同样的事情正在发生。

感谢您的任何建议

0 投票
2 回答
2156 浏览

swift - 如何在 UITableViewDiffableDataSource 中添加标题名称

我尝试为 中的每个部分添加标题UITableView,但在这种情况下UITableViewDiffableDataSource,我不知道应该在哪里做。我的代码的一部分:

UICollectionViewDiffableDataSource有一个参数supplementaryViewProvider,用户可以在其中配置标头。中是否存在这样的东西UITableViewDiffableDataSource

0 投票
1 回答
4549 浏览

ios - 具有多个部分的 Diffable 数据源使用核心数据

WWDC 2019真的充满了 iOS 的新东西和新的TableViews数据CollectionViewUITableViewDiffableDataSource

我已经成功地将上述新数据源与核心数据集成,删除和插入新记录没有任何问题,不幸的是我在将项目从一个部分移动到另一个部分时遇到问题,如果我试图将最后一个单元格移动到另一个单元格中,就会出现问题这部分 。

下面是我的代码:

表视图设置

NSDiffableDataSourceSnapshot用表视图数据创建一个

NSFetchedResultsControllerDelegate对于部分和行

0 投票
1 回答
1072 浏览

ios - 使用 UITableViewDiffableDataSource 创建节标题

我正在修改一点,UITableViewDiffableDataSource我能够毫无问题地加载一个 tableView。我正在尝试在 tableView 中创建节标题,但是我遇到了一些不稳定的行为。

节 enum enum 定义如下:

这是我的实现tableView(viewForHeaderInSection:)

这给了我在 tableView 顶部的标题单元格中堆叠的 4 个标签。

我启动了 Dash 到 RTFD,我看到tableView(titleForHeaderInSection:)这是另一种剥那只猫的方法。所以我把它扔了进去,而不是:

我扔了一个断点,它永远不会被击中。所以我实现tableView(heightForHeaderInSection:)了标题并更新了标题,但标题没有显示字符串。

该表的加载速度比“老式方式” IndexPaths(我正在使用 USGS 地震数据库来学习TableViewDiffableDataSource)要快很多,但我无法显示标题。

任何人都知道如何让部分工作在一个TableViewDiffableDataSource?我很难相信他们会在没有这种基本功能的情况下让这样的东西进入野外,所以我只能得出结论,我正在搞砸一些东西......什么,我不知道 :)

哦...这是我定义数据源的方式:

0 投票
1 回答
2275 浏览

uicollectionview - 将 NSDiffableDataSourceSnapshot 应用于 UICollectionViewDiffableDataSource 会导致“NSInternalInconsistencyException”

我正在尝试UICollectionViewDiffableDataSource为我的collectionView. 我的代码编译得很好,但是我第一次对其应用快照时一直遇到此错误,并出现以下错误:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效参数不满足:self.supplementaryViewProvider || (self.supplementaryReuseIdentifierProvider && self.supplementaryViewConfigurationHandler)'

这是我的代码:

如果需要,我可以发布完整的调用堆栈。

0 投票
2 回答
412 浏览

ios - 使用 UIDIffableDataSource tableview 删除项目时,不调用 NFetchedResultsController 委托方法 didChangeContentWith

我正在尝试使用 UITableViewDiffableDataSource 实现我现有的 coredata 项目。我的 tableview 是使用 NSFetchedResultsController 和相应的委托方法耦合的。我可以使用 diffabledatasource 列出 tableview 中的数据。我的数据源使用以下泛型类型声明

为了在表格视图中启用编辑模式,我对 UITableViewDiffableDataSource 进行了子类化。我可以从表格视图中删除单元格,但不能从我的 coreData 中删除。删除单元格的代码如下

当我删除单元格时,不会调用下面的 NSFetchedResultsControllerDelegate 方法。

我不确定这是否是将 diffabledatasource 与 NSFetchedResultscontroller 耦合的正确方法。任何帮助将不胜感激。提前致谢

0 投票
4 回答
3276 浏览

ios - iOS13 DiffableDataSource 无效参数不满足:indexPath || 忽略无效项

我正在将我的集合视图转换为新的 iOS13 UICollectionViewDiffableDataSource...所以我需要按需更新单元格信息。

这是我的代码:

但我明白Invalid parameter not satisfying: indexPath || ignoreInvalidItems了……为什么?我的当前snap包含itemToUpdate以及我的模型数组...

我认为这是因为snap.indexOfItemIdentifier(itemToUpdate)找不到返回(NSNotFound)......但根据数据模型这应该是不可能的。

你有什么提示吗?

0 投票
3 回答
2544 浏览

ios - 具有不同对象的 UITableViewDiffableDataSource

我目前在使用UITableViewDiffableDataSource.

我想试一试这个新功能,所以我在网上看了很多教程,但似乎没有一个能回答我的问题。

在我当前的 viewController 中,我有一个UITableView, 有 3 个不同的对象(每个对象都有不同的类型),但是UITableViewDiffableDataSource是一个强类型。

喜欢:dataSource = UITableViewDiffableDataSource <SectionType, ItemType>

我所有的部分都充满了类似的东西

在我的情况下使用 diffable dataSource 有技巧吗?

任何帮助表示赞赏!谢谢你读我:)

0 投票
0 回答
1253 浏览

ios - UICollectionView 选择和删除可区分数据源的问题

我在这里束手无策,但我的收藏视图有一个奇怪的问题,并试图选择多个项目。我有一个编辑按钮,当我点击它时,它会触发一个 isEditing 功能。当一个单元格被点击时,它会改变 isSelected 上的布尔值。我想要做的是选择多个单元格,然后点击垃圾桶按钮删除所选项目。我遇到了两个问题:

  1. 如果我选择多个对象然后点击我的删除按钮 - 然后它会删除一些但不是全部的对象。
  2. 如果我点击我的编辑按钮并选择几个对象,然后点击取消,然后返回编辑模式,则再次选择一些对象。

我的编辑代码在这里:

我的删除按钮代码在这里:

我的完整项目在这里(专门链接到我的 collectionview.swift:https ://github.com/analogpotato/superdiff/blob/master/superdiff/CollectionViewController.swift