【问题标题】:How to break up expression into distinct sub-expressions?如何将表达式分解为不同的子表达式?
【发布时间】:2020-11-16 08:01:47
【问题描述】:

我在 Swift 中遇到了这个错误 “编译器无法在合理的时间内对该表达式进行类型检查;请尝试将表达式分解为不同的子表达式”

这是引发错误的代码。

             let obj = self.AddressList[indexPath.row] as! Address
//            let a:String! = obj.street+" ,"+obj.city+" "+obj.country
//            let b:String! = obj.country
            StaticData.singleton.cardAddress = obj.street+" ,"+obj.city+" "+obj.country
            StaticData.singleton.AddressID = obj.id
            StaticData.singleton.cart_addresstotal = obj.total_amount
            StaticData.singleton.cart_addressFee = obj.delivery_fee
            DispatchQueue.main.async {
                self.dismiss(animated:true, completion:nil)
            }

尤其是错误指向的代码部分:

    StaticData.singleton.cardAddress = obj.street+" ,"+obj.city+" "+obj.country

【问题讨论】:

    标签: swift string singleton static-data


    【解决方案1】:

    只需将+ 运算符替换为字符串连接即可。一般来说,使用字符串连接是比使用+ 运算符的首选方法。

    StaticData.singleton.cardAddress = "\(obj.street) ,\(obj.city) \(obj.country)"
    

    【讨论】:

    • 你是救生员,非常感谢!工作得很好! ...不知道为什么我没有想到这一点?
    • @Aaron34 很高兴我能帮上忙。如果您觉得我的回答有用,请考虑接受。如果您不确定如何操作,可以阅读What should I do when someone answers my question?
    猜你喜欢
    • 1970-01-01
    • 2020-12-22
    • 1970-01-01
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多