这行代码是什么意思?
label.frame = (inPseudoEditMode) ? kLabelIndentedRect : kLabelRect;
?
和 :
让我很困惑。 最佳答案
这是 C ternary operator(Objective-C 是 C 的超集):
label.frame = (inPseudoEditMode) ? kLabelIndentedRect : kLabelRect;
在语义上等同于
if(inPseudoEditMode) {
label.frame = kLabelIndentedRect;
} else {
label.frame = kLabelRect;
}
没有第一个元素的三元(例如
variable ?: anotherVariable
)表示与 (valOrVar != 0) ? valOrVar : anotherValOrVar
相同关于objective-c - 问号和冒号 (? : ternary operator) mean in objective-c?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2595392/