Во всяком случае, saveContext при использовании NSFetchedResultsController, а не триггер делегата? - PullRequest
0 голосов
/ 06 апреля 2019

Я использую выбранный контроллер результатов для отображения данных в tableView для приложения чата.

Когда добавляется новая строка, и я сохраняю, и эти новые данные, строка, правильно вставляются в tableView из методов делегата fetchedResultsController.

Затем я прокручиваю свой tableView вниз, чтобы показать новую строку.

Если я снова сохранюContext во время этой прокрутки (я делаю это, чтобы изменить индикатор на отправленный), и это происходит, когда tableViewвсе еще прокручиваю, а затем прерываю прокрутку, и это выглядит немного грязно, поскольку новая строка показывает только частично.

Поскольку я могу изменить отправленный индикатор, используя следующее:

if let indexPath = self.fetchedResultsController.indexPath(forObject: messageForUpdate) {
    DispatchQueue.main.async(execute: {
        if let cell = self.tableView.cellForRow(at: indexPath) as? MessageTableViewCell {
            cell.messageStatus = "sent"
        }
    })
}

Я не знаюне нужен делегат coreData для отражения изменений в строке.Однако это все еще происходит, когда я снова сохраняю Context.Есть ли способ сохранить контекст во второй раз без этой проблемы?

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