我有3个不同的值,想要查看!= nil
语句中是否所有if
。如果我执行以下操作,则会在if
行上收到警告:Expression result unused
。
NSString *title = _titleField.text;
NSString *desc = _descField.text;
UIImage *img = _postImg.image;
if (title,desc,img) {
}
检查所有内容是否为零的最佳方法是什么?
答案 0 :(得分:4)
尽管表达式title,desc,img
是有效的Objective-C,但它并不是您想要它做的。如果所有检查都通过,它不会检查所有三个项目并返回true
,而是逐个检查项目,并丢弃除最后一个项目之外的所有结果:
逗号是一个二元运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回该值。
换句话说,您的if
相当于if (img)
。另外两个表达式结果未使用,因此编译器会对其发出警告。
要检查nil
的所有三个,请应用&&
运算符代替,
运算符。