Swift 3D Touch打开TabBarController而不是RootViewController

时间:2018-01-03 15:49:52

标签: swift uitabbarcontroller 3dtouch rootviewcontroller

我目前正在尝试为我的应用添加3D触控功能。我已经实现了我的应用显示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

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

1 个答案:

答案 0 :(得分:0)

问题是您每次都在创建HomeVC的新实例,而不是检查

之类的内容
if let homeVC = window.rootViewController as? HomeVC { ... }