【发布时间】:2013-04-21 18:12:53
【问题描述】:
谁能告诉我为什么以下是可以的:
if (newEditingMode) {
dayView.dayViewIsInEditingMode = YES;
}
else{
dayView.dayViewIsInEditingMode = NO;
}
但以下给出了错误Expression is not assignable:
newEditingMode ? dayView.dayViewIsInEditingMode = YES : dayView.dayViewIsInEditingMode = NO;
【问题讨论】:
-
您不应该在三元运算符中执行赋值。三元运算符应为:
<variable> = <condition> ? <true value> : <false value>。整个运算符的结果将是真值或假值。 -
@rmaddy 是的,似乎括号允许它编译,但 Metabble 和 rickyman 都给出了我在他们的答案中需要的代码。谢谢
标签: objective-c compiler-errors conditional variable-assignment ternary-operator