我在if行上收到一条“预期标识符”消息。有什么想法吗?
if ([inputA.text isEqualToString:@""]) && ([inputB.text <> isEqualToString:@""]) {
c = 1;
}
我想说这两个输入都是空的...... 我认为如果Obj C ++中的文本为null,则没有更简单的方法可以说明了吗?
答案 0 :(得分:1)
if ([inputA.text length]==0 && [inputB.text length]==0)
{
c = 1;
}
答案 1 :(得分:1)
if
语句要求将其条件表达式括在括号中。你有一个复合表达式。您已经在逻辑AND操作(&amp;&amp;)的子表达式周围使用了括号,但是您没有用括号括起整个表达式。 (在这种情况下,子表达式实际上不需要括号,但它们不会受到伤害。)
接下来,第二个子表达式中有一个随机<>
。那里做的是什么?在某些语言中,“不等于”运算符,但a)它不是C或Objective-C中的运算符,b)它不会进入像这样的消息发送表达式,并且c)你声称你正在尝试检查两个输入都是空的,所以我不希望你试图用空字符串来否定测试的相等性。
因此,解决这些问题只会产生:
if ([inputA.text isEqualToString:@""] && [inputB.text isEqualToString:@""]) {
c = 1;
}
那就是说,馅饼的答案也很好。如果其中一个输入也具有nil
文本属性,它也可以工作。