我目前正在尝试为我的应用程序添加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
。
有什么建议吗?我真的很感激。
问题是您每次都会创建一个新的HomeVC
实例,而不是检查类似
if let homeVC = window.rootViewController as? HomeVC { ... }