结果值以'? :'表达式的类型'()'和'String?'不匹配

时间:2018-08-07 14:42:39

标签: ios swift optional

我不知道我在这里出了什么问题,我基本上是在检查值是否返回零,然后用标准数字填充UILabel,否则,如果值返回,我填充{{ 1}}与值。

UILabel

2 个答案:

答案 0 :(得分:2)

由于在两种情况下都分配给self.ddiLabel.text,所以可以将分配与?:操作分开,在两种情况下都将返回类型设为String

ddiLabel.text = account.agent.number == "" || account.agent.ddi == nil ? "02039909000" : account.agent.ddi

答案 1 :(得分:1)

对于没有()的编译器来说很重

account.agent.ddi == "" || account.agent.ddi == nil ? ( self.ddiLabel.text = "02039909000" ) : ( self.ddiLabel.text =  account.agent.ddi)