Как перезагрузить родительский просмотр таблицы, когда 3D Touch Peek заканчивается? - PullRequest
0 голосов
/ 23 декабря 2018

Я внедряю 3D Touch Peek & Pop в свое приложение.Как я могу перезагрузить tableView в родительском представлении, которое называется peek?

У меня есть tableView с элементами, которые пользователь может пометить как избранные.Эти отмеченные элементы фильтруются в верхней части таблицы, поэтому пользователь может легко их найти.Когда пользователь нажимает на ячейку и помечает элемент как избранный, все работает как положено.В 3D Touch Peek есть кнопки действий, и одна из них - пометить элемент как избранный.Здесь, когда пользователь нажимает кнопку, элемент отмечается, но tableView (в родительском представлении на заднем плане), который показывает его, не регистрирует его, даже когда вызывается tableView.reloadData().Мне нужно вернуться в навигационное представление, а затем снова открыть таблицу, чтобы увидеть изменения.

Я попытался передать ссылку, а затем перезагрузить с использованием этого, я попытался перезагрузить через уведомление NotificationCenter, но, кажется, ничего не перезагрузить таблицу ина самом деле показать новое содержимое.

override var previewActionItems: [UIPreviewActionItem] {
    get {
        var items : [UIPreviewActionItem] = []

        //Other actions items

        items.append(UIPreviewAction(title: "Favourite", style: item?.favourite ?? false ? .selected : .default, handler: { action, controller in
            self.changeFavourite()
            //Need to reload the table here

        }))

        return items

    }

}

Кажется, что проблема с перезагрузкой tableView в фоновом режиме, а не вызова функции перезагрузки (она вызывается, насколько я тестировал).

Как заставить таблицу перезагрузить и показать свои перезагруженные данные, когда окончание просмотра 3D Touch завершится?

...