【发布时间】:2020-07-07 10:59:27
【问题描述】:
我正在使用UICollectionViewDiffableDataSource 开发一个应用程序。一切都像魅力一样,事实上,当我添加新模型时,我的collectionView 会自动更新。但是,当我更新现有元素之一时,我无法看到更新的单元格。
这是一个例子:
我有这个模型
final class Contact: Hashable {
var id: UUID
var name: String
init(id: UUID = UUID(), name: String) {
self.id = id
self.name = name
}
func hash(into hasher: inout Hasher) {
hasher.combine(id)
hasher.combine(name)
}
static func == (lhs: Contact, rhs: Contact) -> Bool {
return lhs.id == rhs.id
}
}
填充了我的UICollectionView。例如,如果我尝试在didSelectItem 上更新它的名称,然后调用我的函数来分析与NSDiffableDataSourceSnapshot 的差异,它不会更新我的UICollectionView。如果我在 didSelect 上添加另一个 Contact(仅用于测试),我的 UICollectionView 会根据我的需要完美更新。
【问题讨论】:
标签: ios swift xcode uicollectionviewdiffabledatasource