Как обновить ячейку таблицы, используя diffable UITableView - PullRequest
0 голосов
/ 12 февраля 2020

Я использую новые 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
    }
}

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...