【发布时间】:2016-04-11 09:16:13
【问题描述】:
我使用NSUserActivity 来索引用户活动以进行搜索。我找到了删除特定NSUserActivity 的解决方案,将CSSearchableItemAttributeSet 和relatedUniqueIdentifier 分配给NSUserActivity:
let attributeSet = CSSearchableItemAttributeSet(itemContentType: kUTTypeContact as String)
attributeSet.relatedUniqueIdentifier = objectId
let activity = NSUserActivity(activityType: Employee.domainIdentifier)
activity.title = name
activity.userInfo = userActivityUserInfo
activity.keywords = [email, department]
activity.contentAttributeSet = attributeSet
然后使用删除它
[[CSSearchableIndex defaultSearchableIndex]
deleteSearchableItemsWithIdentifiers: objectId completionHandler:^(NSError *deletionError) {
if (deletionError) {
NSLog(@"Could not delete items from the search index with error %@", deletionError);
}
}];
我不知道这是否是一个正确的解决方案。您有更好的解决方案来删除特定的NSUserActivity 搜索索引吗?
【问题讨论】:
-
你可以试试
deleteSearchableItemsWithIdentifiers或deleteSearchableItemsWithDomainIdentifiers然后读吗? -
@Tj3n 哦,这是我目前的解决方案,一票给你。抱歉,因为我错过了代码中的删除方法。我将编辑上面的代码。我的问题是,它有其他解决方案来删除使用 NSUserActivity 方法,而不是将 NSUserActivity 链接到 CSSearchableItemAttributeSet 并删除使用 Core Spotlight 方法?
-
据我所知,没有:/当我想删除一些可搜索的项目时,我总是必须使用这些代码
标签: ios corespotlight nsuseractivity