这行代码是什么意思?
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/
相关文章:
ios - 如何强制 NSLocalizedString 使用特定语言
objective-c - 对于 Objective-C 中用于访问 NSMutable 字典的每个
ios - 如何以编程方式确定我的应用程序是否在 iphone 模拟器中运行?
ios - 总是将 self 的弱引用传递到 ARC 中的 block 中?
objective-c - 将 NSDate 转换为 NSString
ios - 解释 iOS7 中自动调整 ScrollView 插入、扩展布局包含不透明条、边缘For
ios - 使用 Storyboard 以编程方式设置初始 View Controller