斯威夫特3;附加带有非可选字符串的可选字符串

时间:2016-07-06 14:02:51

标签: ios swift string optional swift3

我刚刚更新到Xcode 8.0 beta 2和swift 3.0,我在一些现有的swift 2.3代码中遇到错误,关于可选字符串:

  

二进制运算符'+'不能应用于'String'类型的操作数   '字符串!'

变量“store”是具有属性addressStreetaddressCity的“商店”对象的实例,两者都定义为var addressStreet: String!

我在addressLabel.text = ...

上收到错误
if store != nil {
    addressLabel.text = store!.addressStreet + String(", ") + store!.addressCity
}

我不明白!对我来说,似乎没有任何字符串是可选的,为什么我会收到此错误,我该如何解决?

1 个答案:

答案 0 :(得分:1)

我不知道它崩溃的原因,但代码更安全,并且没有'String' + 'String!'问题。试试吧:

if let store = store, street = store.addressStreet, city = store.addressCity {
    addressLabel.text = "\(street), \(city)"
}