我在if行上得到了一条"Expected“消息。你知道为什么吗?
if ([inputA.text isEqualToString:@""]) && ([inputB.text <> isEqualToString:@""]) {
c = 1;
}我想说的是两个输入都是空的。我想没有一种更简单的方法来判断Obj C++中的文本是否为空?
发布于 2012-05-15 15:45:18
if语句要求将其条件表达式括在括号中。你有一个复合表达式。您已经在逻辑AND运算(&&)的子表达式中使用了括号,但没有将整个表达式括在括号中。(在本例中,子表达式实际上不需要括号,但它们不会有任何影响。)
接下来,在第二个子表达式中有一个随机的<>。那是怎么回事?在一些语言中,它是“不等于”运算符,但a)它不是C或Objective-C中的运算符,b)它不会放在像这样的message-send表达式中,c)你声称你试图检查两个输入都是空的,所以我不希望你试图用空字符串否定相等测试。
因此,修复这些问题会产生以下结果:
if ([inputA.text isEqualToString:@""] && [inputB.text isEqualToString:@""]) {
c = 1;
}也就是说,派的答案也很好。如果两个输入中的任何一个也有nil text属性,它也会起作用。
发布于 2012-05-15 15:06:48
if ([inputA.text length]==0 && [inputB.text length]==0)
{
c = 1;
}https://stackoverflow.com/questions/10595687
复制相似问题