3D Touch 和状态恢复的问题

Issues with 3D Touch and state restoration

我正在努力在我的应用程序中实现状态恢复,但是我遇到了 运行 问题。我最近向 table 视图添加了 3D Touch 支持,除了现在我添加了状态恢复之外,它每次都运行良好。当应用程序恢复 table 视图时,对单元格施加压力不会执行任何操作,就好像 table 视图尚未注册预览。

我在 viewDidLoad 中有此代码:

override func viewDidLoad() {
    super.viewDidLoad()

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

我尝试将其移至 viewDidAppear 以查看是否有帮助,但并没有什么不同。

有什么想法吗?

好吧,我终于明白了。我必须将 registerForPreviewingWithDelegate 移动到 viewWillAppear 并且我还必须将 self. 添加到开头。