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

2 iphone

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

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

if([textName.text length] == 0)
{
    text = @"Wrong color";
}
Run Code Online (Sandbox Code Playgroud)

非常感谢你!

Tim*_*Tim 5

您想要查看NSString类上的字符串比较方法.最简单的例子是使用isEqualToString:,如下:

if([textName.text isEqualToString:@"blue"]) {
    text = @"Wrong color";
}
Run Code Online (Sandbox Code Playgroud)

但是,这可能会有所限制,因为您正在具体查看单词是否为"蓝色",全部为小写.如果你想接受不同的案例组合(例如,"蓝色","蓝色"和"蓝色"都会导致"颜色错误"),那么你想要使用caseInsensitiveCompare:,如下所示:

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

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

欲了解更多信息: