检查查看字符串是否不等于另一个字符串

时间:2014-05-15 16:44:13

标签: ios objective-c

尝试检查“textfield”是否没有输入“AM”或“PM”,如果不是,则不要让用户将数据提交到数据库。

我觉得这样的事情很简单,但实际上看起来并不太实际我每次在任一字段中输入“AM”或“PM”时都会得到NSLog,但第一个{{1}显示“AM”或“PM”就好了。不确定是什么问题。

代码:

NSLog

4 个答案:

答案 0 :(得分:2)

您的代码说

if 
   (the suffix is not "AM")
   OR
   (the suffix is not "PM")

后缀不能同时出现,所以如果是AM,它也不能成为PM。

你想要

if 
   (the suffix is not "AM")
   AND
   (the suffix is not "PM")

我留给你更改代码。

答案 1 :(得分:1)

您想要使用DeMorgan的!(s==AM || s==PM)表格s!=AM && s!=PM。你的||应该是&&

答案 2 :(得分:1)

如果值不是@“AM”,它将打印您的日志行。如果它不是@“PM”,它也会打印。由于它不能同时存在,因此它将始终打印。

答案 3 :(得分:0)

登录似乎不正确。

让我们说用户类型' DM',

![self.suffix.text isEqualToString:@" AM"]评估为[@" DM" isEqualToString:@" AM"]这是假的。不是那样的。对于OR操作,一个是真的。

所以,它必须是

 if(!([self.suffix.text isEqualToString:@"AM"] || [self.suffix.text isEqualToString:@"PM"] )&&
   !([self.suffix2.text isEqualToString:@"AM"] || [self.suffix2.text isEqualToString:@"PM"] ))
{
    NSLog(@"S: %@, E: %@", self.suffix.text, self.suffix2.text);
    NSLog(@"Invalid time suffixes!");

}
else
{
    // submit data
}