Проблемы с 3D Touch и восстановление состояния

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

У меня этот код в viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()

    if #available(iOS 9.0, *) {
        if traitCollection.forceTouchCapability == UIForceTouchCapability.Available {
            registerForPreviewingWithDelegate(self, sourceView: view)
        }
    }
}

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

Любые идеи?

Ответ 1

Хорошо, я понял это в конце концов. Мне пришлось переместить registerForPreviewingWithDelegate в viewWillAppear, и мне также пришлось добавить self. в начало.