我刚刚更新到Xcode 8.0 beta 2和swift 3.0,我在一些现有的swift 2.3代码中遇到错误,关于可选字符串:
二进制运算符'+'不能应用于'String'类型的操作数 '字符串!'
变量“store”是具有属性addressStreet
和addressCity
的“商店”对象的实例,两者都定义为var addressStreet: String!
我在addressLabel.text = ...
行
if store != nil {
addressLabel.text = store!.addressStreet + String(", ") + store!.addressCity
}
我不明白!对我来说,似乎没有任何字符串是可选的,为什么我会收到此错误,我该如何解决?
答案 0 :(得分:1)
我不知道它崩溃的原因,但代码更安全,并且没有'String'
+ 'String!'
问题。试试吧:
if let store = store, street = store.addressStreet, city = store.addressCity {
addressLabel.text = "\(street), \(city)"
}