在if语句中检查nil的多个值

时间:2016-05-02 19:43:52

标签: objective-c if-statement

我有3个不同的值,想要查看!= nil语句中是否所有if。如果我执行以下操作,则会在if行上收到警告:Expression result unused

NSString *title = _titleField.text;
NSString *desc = _descField.text;
UIImage *img = _postImg.image;

if (title,desc,img) {

}

检查所有内容是否为零的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

尽管表达式title,desc,img是有效的Objective-C,但它并不是您想要它做的。如果所有检查都通过,它不会检查所有三个项目并返回true,而是逐个检查项目,并丢弃除最后一个项目之外的所有结果:

  

逗号是一个二元运算符,它计算第一个操作数并丢弃结果,然后计算第二个操作数并返回该值。

换句话说,您的if相当于if (img)。另外两个表达式结果未使用,因此编译器会对其发出警告。

要检查nil的所有三个,请应用&&运算符代替,运算符。