如何检查一个单词是否在Objective-C中的短语中

时间:2014-10-14 23:19:58

标签: ios objective-c arrays xcode

在我的代码中,我比较了两个数组。一个阵列充满了成分,另一个列表中填充了用户过敏的成分。因此,让我们说用户对猪肉过敏,然后他/她将进入猪肉#34;。但如果这个词是"烤猪肉",它就不会比较,所以"烤猪肉"将通过雷达飞行。这是我比较数组的方式:

   NSMutableSet *originalIngredientSet =  [NSMutableSet setWithArray:completeArray];
NSSet *wrongIngredients = [NSSet setWithArray:matchAgainstArray];
[originalIngredientSet intersectSet:wrongIngredients];

NSArray *filteredArray = [originalIngredientSet allObjects];

for (NSString *allergicITem in filteredArray)
{
    if([cell.textLabel.text isEqualToString:allergicITem])

    {
        cell.textLabel.textColor = [UIColor redColor];
    }

    else

    {
        cell.textLabel.textColor = [UIColor blackColor];

    }
}

所以我的问题是:我怎样才能更好地使用这段代码,以便检测短语中的单词?

1 个答案:

答案 0 :(得分:1)

像这样:

 if ([cell.textLabel.text rangeOfString:allergicITem].location != NSNotFound) {
    // red
 } else {
    // black
 }

您还可以将文本范围的属性更改为黄色背景或其他内容。