我刚刚更新到 Xcode 8.0 beta 2 和 swift 3.0,我在一些现有的 swift 2.3 代码中遇到了关于可选字符串的错误:
Binary operator '+' cannot be applied to operands of type 'String' and 'String!'
变量“store”是一个“Store”对象的实例,具有属性 addressStreet
和 addressCity
,两者都定义为 var addressStreet: String!
我在 addressLabel.text = ...
行上收到错误
if store != nil {
addressLabel.text = store!.addressStreet + String(", ") + store!.addressCity
}
我不明白!对我来说,似乎没有一个字符串是可选的,为什么我会收到这个错误,我该如何解决?
最佳答案
我不知道它为什么会崩溃,但下面的代码更安全并且没有 'String'
+ 'String!'
问题。试一试:
if let store = store, street = store.addressStreet, city = store.addressCity {
addressLabel.text = "\(street), \(city)"
}
关于ios - swift 3;使用非可选字符串附加可选字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38225981/