【发布时间】:2018-02-18 18:13:58
【问题描述】:
我已经解决了 Spotlight 搜索,我现在面临的问题是如何根据已在 Spotlight 中按下的项目显示内容视图。
我的应用结构是UITabVC>UINavigationVC>UICollectionVC>UIVC
亮点和代码如下所示
// Continue Spotlight Search
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
if userActivity.activityType == CSSearchableItemActionType {
let uniqueIdentifier = userActivity.userInfo?[CSSearchableItemActivityIdentifier] as! String
let id = uniqueIdentifier.components(separatedBy: "_")
let rootTabVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "RootTabVC") as! RootTabVC
print(id[0], id[1], separator: " - ", terminator: "\n")
// printed "craft - Shovel"
switch id[0] {
case "craft" :
let craftVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "CraftDetailVC") as! CraftItemDetailVC
let craftRootCollectionVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "CraftRootCollectionVC") as! CraftCollectionVC
let craftItemsCollectionVC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "CraftItemsCollectionVC") as! CraftItemsCollectionVC
// MARK: - TODO show vc
case "character" : break
case "mob" : break
case "plant" : break
case "recipe" : break
case "thing" : break
case "material" : break
default: break
}
}
return true
}
【问题讨论】:
标签: ios swift uiapplication corespotlight