我以爲我明白這將如何工作,但也許我錯過了一些小事。我想根據另一個變量的值設置標籤的文本。三元運算符根據變量的值設置值
這是我寫的,但它始終返回null,並在編譯器拋出一個警告:
myLabel.text = [NSString stringWithFormat:@"%@", [[_singleDictionary objectForKey:_key] isEqual: @"1" ? @"Single" : @"Three"]];
編譯器會引發警告:
Format specifies type 'id' but the argument has type 'BOOL' (aka 'bool')
我不知道爲什麼。我研究過三元運算符,當我構造類似的代碼時,我仍然得到警告。基本上,我想作以下if語句三元操作符:
if ([[_singleDictionary objectForKey:_key] == @"1"])
{
myLabel.text = @"Single";
}
else if ([[_singleDictionary objectForKey:_key] == @"3"])
{
myLabel.text = @"Three";
}
嘗試在你的三元運算符周圍加上括號,以使它更清楚發生了什麼。 – thelaws 2014-10-20 20:26:34
僅供參考 - 在這種情況下不需要使用'stringWithFormat'。 – rmaddy 2014-10-20 20:55:34