【问题标题】:Result values in '? :' expression have mismatching types '()' and 'String?''? 中的结果值:' 表达式有不匹配的类型 '()' 和 'String?'
【发布时间】:2019-01-14 16:57:42
【问题描述】:

我不知道我在这里做错了什么,我基本上是在检查一个值是否返回 nil 然后用标准数字填充 UILabel 或者如果值返回,我用填充 UILabel价值。

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

【问题讨论】:

    标签: ios swift optional


    【解决方案1】:

    没有()的编译器很重

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

    【讨论】:

      【解决方案2】:

      由于您在这两种情况下都分配给self.ddiLabel.text,因此您可以将分配与?: 操作分开,在这两种情况下都使返回类型String

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-10
        • 2017-09-01
        • 2019-12-12
        • 2017-05-22
        • 2019-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多