【问题标题】:iOS 9 - "domainIdentifier" for CSSearchableItemiOS 9 - CSSearchableItem 的“domainIdentifier”
【发布时间】:2015-07-20 16:38:24
【问题描述】:

在 CSSearchableItem 的 init 中,其中一个参数是“domainIdentifier”,Apple 在其文档中写入的是该项目的“关联 ID”。这是什么?

【问题讨论】:

    标签: ios xcode ios9


    【解决方案1】:

    domainIdentifier 是一种将多个可搜索项分组 在一起的方法。 您将在需要时使用它来恢复/更新/删除项目组。

    【讨论】:

    • 你说“删除项目组”——你的意思是什么?您的意思是删除应用程序的所有索引项还是删除应用程序的部分索引数据?因为否则,不需要任何标识符的deleteAllSearchableItemsWithCompletionHandler 方法的意义何在?
    【解决方案2】:

    域标识符是要编入索引的组名。 例如,如果您索引应用程序中的所有联系人,则可以使用如下:

    searchableItems=[[CSSearchableItem alloc]initWithUniqueIdentifier:identifier domainIdentifier:@"contacts" attributeSet:attributeSet];
    

    域标识符名称用于轻松删除该域中的所有索引,如下所示:

    [[CSSearchableIndex defaultSearchableIndex]deleteSearchableItemsWithDomainIdentifiers:@[@"contacts"] completionHandler:^(NSError * __nullable error) {
    
            if (error!=nil)
            {
                NSLog(@"%@",error.description);
            }
            else
            {
                // Indexes deleted successfully
            }
        }];
    

    【讨论】:

    • 但这没有意义,那么deleteAllSearchableItemsWithCompletionHandler 方法的意义何在?那不需要任何标识符???
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    相关资源
    最近更新 更多