我在臭名昭著的SevenSwitch类中遇到了一行代码。
这是线…
backgroundView.layer.cornerRadius = self.isRounded ? frame.size.height * 0.4 : 2
我不明白方程式的结尾?是什么或 什么:。有人可以解释一下这些含义以及它们的用法吗?
?
:
运算符可以是一元,二进制或三元:
这是三元运算符在三个目标上的运算。与C一样,Swift也只有一个三元运算符,即三元条件运算符(a?b:c)。
来自Apple Documents 基本操作员
三元条件运算符 三元条件运算符是具有三部分的特殊运算符,其形式为问题?答案1:答案2。这是根据问题是对还是错来评估两个表达式之一的快捷方式。如果问题为真,它将评估答案1并返回其值;否则,它评估answer2并返回其值。
三元条件运算符
三元条件运算符是具有三部分的特殊运算符,其形式为问题?答案1:答案2。这是根据问题是对还是错来评估两个表达式之一的快捷方式。如果问题为真,它将评估答案1并返回其值;否则,它评估answer2并返回其值。
根据您的问题, 如果isRound是真的,那么角落收音机是frame.size.height2。
isRound
frame.size.height
就像条件:
if(self.isRounded){ backgroundView.layer.cornerRadius = frame.size.height * 0.4 } else{ backgroundView.layer.cornerRadius = 2.0 }