gpt4 book ai didi

objective-c - 问号和冒号是什么意思(?: ternary operator) mean in objective-c?

转载 作者:IT老高 更新时间:2023-10-28 12:13:58 26 4
gpt4 key购买 nike

这行代码是什么意思?

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com