再次感谢您的帮助。
我有一个简单的操作来检查textField的stringValue,如果匹配,则会在第二个textField中打印一个状态消息:
if
(textField.stringValue == (@"Whatever" )){
[outputDisplay setStringValue:@"Success"];
我的问题是如何在此方法中实现多个输入stringValue选项?例如“Whatever”“Whatever1,Whatever2”都会在outputDisplay中返回“Success”。
感谢。
保
答案 0 :(得分:10)
创建一组您正在寻找的答案,并测试相关字符串是否在那里。
NSSet *successStrings = [NSSet setWithObjects:@"Whatever1",
@"Whatever2",
@"Whatever3",
nil];
if ([successStrings containsObject:st]) {
[outputDisplay setStringValue:@"Success"];
}
(一个阵列也可以,但是一个专门用于测试成员资格,因此它更适合我们在这里做的事情。)
答案 1 :(得分:6)
首先,要检查NSString
- s的相等性,您应该使用-isEqualToString:
。 ==
比较经常返回NO
的指针值,即使两个字符串的内容相同也是如此。
要检查文本字段是否与多个字符串匹配,请将它们与||
(or
)运算符相关联,以便获得
NSString* st = textField.stringValue;
if ([st isEqualToString:@"Whatever"] || [st isEqualToString:@"Whatever1"] || [st isEqualToString:@"Whatever2"]) {
[outputDisplay setStringValue:@"Success"];