这行代码是什么意思?
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 : 另一个ValOrVar
关于objective-c - 问号和冒号是什么意思(?: ternary operator) mean in objective-c?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2595392/