我正在尝试使用NSMetaDataQuery创建搜索查询并部署谓词,如下所示:
NSString * format = @"kMDItemDisplayName like[cd] %@";
NSPredicate * compPred = [NSPredicate predicateWithFormat:format,[NSString stringWithFormat:@"%@*",self.searchString]];
我面临的问题是:
假设我有名字申请:谷歌浏览器。
如果我搜索“google”作为搜索字符串,我可以获得结果即“Google Chrome”,但如果我搜索“chrome”,我将无法搜索“Google Chrome”。
同样,如果搜索字符串是“Suhail”,则显示结果为“Suhail不讨厌任何人”, 但如果搜索字符串是“讨厌”,则结果显示任何内容。
还有一个案例: 假设文件名是“faMee”。
我搜索“amee”,结果一无所获。 我搜索“mee”,结果什么都没有,但在聚光灯下我搜索“mee”它会显示我的文件“faMee”。
请提出任何建议。
答案 0 :(得分:0)
在查询中使用“包含”,而不是“喜欢”。 请查看NSPredicate Apple文档并对查询进行抽样。
穆赫辛
答案 1 :(得分:0)
NSPredicate * compPred = [NSPredicate predicateWithFormat:format,[NSString stringWithFormat:@"*%@*",self.searchString]];
试试这个