我正在尝试使用 NSMetaDataQuery 创建搜索查询并部署谓词,如下所示:
NSString * format = @"kMDItemDisplayName like[cd] %@";
NSPredicate * compPred = [NSPredicate predicateWithFormat:format,[NSString stringWithFormat:@"%@*",self.searchString]];
我面临的问题是:
假设我有一个名为:Google Chrome 的应用程序。
如果我搜索“google”作为搜索字符串,我可以获得结果,即“Google Chrome”,但如果我搜索“chrome”,我无法搜索“Google Chrome”。
同样,如果搜索字符串是“Suhail”,则显示结果是“Suhail讨厌任何人”, 但如果搜索字符串是“hates”,结果不会显示任何内容。
还有一个案例: 假设文件名为“faMee”。
我搜索“amee”,结果什么也没有。 我搜索“mee”,结果什么也没有,但在聚光灯下,我搜索“mee”,它向我显示文件“faMee”。
请提出任何建议。
最佳答案
在查询中不要使用“like”,而是使用“contains”。 请仔细阅读 NSPredicate Apple 文档和查询示例。
莫赫辛
关于macos - 搜索字符串谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13193690/