检查数组的所有项目是否包含在字符串中

时间:2019-03-06 10:00:12

标签: objective-c

对于我正在使用的功能,我需要检查数组中的所有项目是否都在字符串中。

我现在正在工作

if (results.nbResult > 1) {
      NSString *terms = [results.queryTerms firstObject];
      int match = 0;
       NSArray *pathes = [terms componentsSeparatedByString:@"-"];
        for (Result *current in results.results) {
           for (NSString *path in pathes) {
              if ([current.destinationPath containsString:path]) {
                   match++;
                 }
                 if (match == pathes.count) {
                        item = current;
                    }
                }
                match = 0;
            }
        }

如果我的要求字词是“ 54-01”,那么我的搜索引擎会给我两个结果(因为该文本在我的搜索上下文中出现了两次)。

在我的第一个结果中,我引用了54-01,但destinationPath是“ 53 TITLE 01 SUBTITLE”,而第二个结果中也引用了54-01,但其destinationPath是“ 54 TITLE 01 SUBTITLE” “。

然后我需要找到目标路径包含我所有请求条件的结果。

尽管如此,我发现该代码的确不是很好,我想知道是否有更好的方法来实现它。

我在考虑NSPredicate,但是我不知道如何构建该谓词。

如果您有关于如何使此代码更好的想法,欢迎:)

谢谢。

0 个答案:

没有答案