如果“word”文字会说“错误”(iPhone SDK)

时间:2009-06-13 21:48:52

标签: iphone

我想更改此代码,以便如果textName.text包含单词“Blue”,则会显示@“Wrong color”

此代码仅暗示如果单词没有字母,则表示“颜色错误”。如何将其更改为特定单词(蓝色)而不是“length”== 0)“?

if([textName.text length] == 0)
{
    text = @"Wrong color";
}

非常感谢!

2 个答案:

答案 0 :(得分:5)

您想要查看NSString类上的字符串比较方法。最简单的示例是使用isEqualToString:,因此:

if([textName.text isEqualToString:@"blue"]) {
    text = @"Wrong color";
}

然而,这可能会有所限制,因为您正在特别关注单词是否为“blue”,全部为小写。如果你想接受不同的案例组合(例如,“蓝色”,“蓝色”和“蓝色”都会导致“颜色错误”),那么你想使用caseInsensitiveCompare:,如下所示:

if([textName.text caseInsensitiveCompare:@"blue"] == NSOrderedSame) {
    text = @"Wrong color";
}

最大的区别是isEqualToString:会返回一个布尔值,因此您可以直接在if内测试它,但caseInsensitiveCompare:会返回NSComparisonResult,所以你有检查它是否为NSOrderedSame而不是测试返回值本身。

欲了解更多信息:

答案 1 :(得分:2)

if([textName.text isEqualToString:@"blue"]) {
        text = @"Wrong color";
}