iphone - 如果 "word"文本会显示 "wrong"(iPhone SDK)

标签 iphone

我想更改此代码,以便如果 textName.text 包含单词“Blue”,它将显示@“错误颜色”

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

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

非常感谢!

最佳答案

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

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

但是,这可能会有些限制,因为您正在专门查看该词是否为“blue”(全部小写)。如果您想接受不同的大小写组合(例如,“蓝色”、“蓝色”和“蓝色”都会导致“颜色错误”),那么您需要使用 caseInsensitiveCompare: ,像这样:

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

最大的区别是 isEqualToString: 将返回一个 bool 值,因此您可以直接在 if 中测试它,但是 caseInsensitiveCompare:返回一个 NSComparisonResult,因此您必须检查它是否为 NSOrderedSame,而不是测试返回值本身。

了解更多信息:

关于iphone - 如果 "word"文本会显示 "wrong"(iPhone SDK),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/991583/

相关文章:

iphone - iOS:可执行文件已使用无效的权利进行签名

iphone - 如果不存在,创建一个空白文件?

iphone - 如何删除 box2d Fixture

iphone - 分段控件的更改值?

iphone - ios编程中切换UIViews的正确方法

iphone - 如何禁用 UIDatePicker 中的某些日期?

iphone - 停止 UIView 旋转

ios - 检测两个日期是否在同一日历日内

iphone - 从 AppDelegate Objective-C IOS 调用 someClass 内部的方法

iphone - iOS 5、Xcode 4.2 和 ProtoBuf