2016-05-02 238 views
0

我有3個不同的值,並且想要檢查語句中是否全部爲!= nil。如果我執行以下操作,則會在if一行上發出警告,其中包含:Expression result unused在if語句中檢查nil的多個值

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

if (title,desc,img) { 

} 

什麼是檢查全部是否爲零的最佳方法?

+9

'if(title && desc && img){' – dan

回答

3

雖然表達式title,desc,img是有效的Objective-C,但它不會執行您想要的操作。相反,檢查所有三個項目,並返回true如果所有抽查合格的,它會檢查的項目一個接一個,並丟棄除了最後一個所有的結果:

逗號是一個二元運算符,評估它的第一個操作數和丟棄結果,然後評估第二個操作數並返回此值。

換句話說,您的if相當於if (img)。另外兩個表達式結果未被使用,所以編譯器會產生一個警告。

爲了檢查全部三個爲nil,應用&&運營商而不是,運營商。