gpt4 book ai didi

objective-c - NSMetaDataQuery,将 setSearchScope 路径设置为递归?

转载 作者:行者123 更新时间:2023-12-03 18:03:34 25 4
gpt4 key购买 nike

在 Objective-C 中,我正在设置一个 NSMetaDataQuery 并设置 setSearchScope: 来搜索特定用户的文档文件夹。搜索有效,但不会在目录树中递归,仅在 Documents 文件夹中搜索。
我尝试过通配符但没有乐趣。

这基本上是我尝试过的方法,除了不在 Documents 目录下搜索之外,它是有效的:

query = [[NSMetadataQuery alloc] init];
[query setSearchScopes:[NSArray arrayWithObjects:@"/Users/username/Documents/",nil]];
[query setPredicate:[NSPredicate predicateWithFormat:@"(kMDItemFSContentChangeDate >= '$time.this_week')"]];
[query startQuery];

最佳答案

我认为问题出在您的 NSPredicate 格式字符串上。 (我一直想写下来!)本质上,您的 $time.this_week 在 Spotlight 查询中效果很好,但不能作为 NSPredicate 字符串。您必须实际创建一个 NSDate 对象并将其传递到查询字符串中,例如

[query setPredicate:[NSPredicate predicateWithFormat:@"(kMDItemFSContentChangeDate <= %@)", [NSDate date]]];

以下是相关链接供您引用:

Comparison of NSPredicate and Spotlight Query Strings
Spotlight Query Expression Syntax
Predicate Format String Syntax

关于objective-c - NSMetaDataQuery,将 setSearchScope 路径设置为递归?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4147555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com