小编典典

问号和冒号(?:三元运算符)在objective-c中是什么意思?

all

这行代码是什么意思?

label.frame = (inPseudoEditMode) ? kLabelIndentedRect : kLabelRect;

?混淆:我。


阅读 114

收藏
2022-04-29

共1个答案

小编典典

这是 C三元运算符(Objective-C 是 C
的超集):

label.frame = (inPseudoEditMode) ? kLabelIndentedRect : kLabelRect;

在语义上等价于

if(inPseudoEditMode) {
 label.frame = kLabelIndentedRect;
} else {
 label.frame = kLabelRect;
}

没有第一个元素的三元(例如variable ?: anotherVariable)的含义与(valOrVar != 0) ? valOrVar : anotherValOrVar

2022-04-29