Я использую новые NSDiffableDataSourceSnapshot и UITableViewDiffableDataSource с UITableView. У меня нет проблем с созданием таблицы, но у меня возникают проблемы с обновлением ячейки, когда изменяются данные, показанные в ней. Я не нашел документации Apple, объясняющей, как это сделать. Я пробовал следующее:
self.currentSnapshot.reloadItems([Item(identifier: identifier)])
self.dataSource.apply(self.currentSnapshot)
Я получаю следующую ошибку в reloadItems:
Ошибка подтверждения в - [__ UIDiffableDataSourceSnapshot _reloadViewUpdatesForDiffUpdate: dataSource: ignoreInvalidItems:]
1008 *
Я проверил, что идентификатор, переданный инициализатору элемента, уже существует в моментальном снимке.
Вот мой класс элемента:
class Item: Hashable, Equatable {
let identifier: String
var matchWrapper: MatchWrapper
init(matchWrapper: MatchWrapper) {
self.identifier = matchWrapper.identifier
self.matchWrapper = matchWrapper
}
func hash(into hasher: inout Hasher) {
hasher.combine(self.identifier)
}
static func == (lhs: ScoresViewController.Item, rhs: ScoresViewController.Item) -> Bool {
return lhs.identifier == rhs.identifier
}
}
Есть предложения?