Я внедряю 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 завершится?