1

我目前正在尝试将 3D touch 添加到我的应用程序中。我已经实现了我的应用程序显示UIApplicationShortcutItems,但现在我无法为它们分配操作。

这是我当前的代码:

func application(_ application: UIApplication, performActionFor shortcutItem: UIApplicationShortcutItem, completionHandler: @escaping (Bool) -> Void)
{
   let homeVC = HomeVC()

   if shortcutItem.type == "com.appName.actionType1"
   {
       homeVC.tabBarController?.selectedIndex = 1
   }

   if shortcutItem.type == "com.appName.actionType2"
   {
       homeVC.tabBarController?.selectedIndex = 2
   }
}

这样做并不难,但我遇到的问题是我HomeVC的不是rootViewController.

有什么建议么?我真的很感激。

4

1 回答 1

0

问题是您HomeVC每次都创建一个新实例,而不是检查类似

if let homeVC = window.rootViewController as? HomeVC { ... }
于 2018-01-03T16:50:43.047 回答