【发布时间】:2014-12-15 22:30:09
【问题描述】:
我以为我明白这是如何工作的,但也许我遗漏了一些小东西。我想根据另一个变量的值来设置标签的文本。
这是我写的,但它总是返回 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";
}
【问题讨论】:
-
尝试在您的三元运算符周围加上方括号,以便更清楚地了解发生了什么。
-
仅供参考 - 在这种情况下不需要使用
stringWithFormat。
标签: ios objective-c ternary-operator