Swift 3;附加可选的字符串与非可选的字符串
问题描述:
我刚刚更新到Xcode的8.0 Beta 2和3.0迅速,而且我得到在我的一些现有的SWIFT 2.3代码中的错误,关于可选字符串:Swift 3;附加可选的字符串与非可选的字符串
二进制运算符'+'不能应用于'String'类型的操作数,并且 'String!'
变量“店”是性质addressStreet
和addressCity
“存储” -object的实例,既定义为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)"
}
奇,这部作品在雨燕2.2 http://swiftlang.ng.bluemix.net/#/repl/577d1066fc6e90d25e4ad0d5 – Alexander
呀,和2.3 .. – Wiingaard
你真的不应该滥用隐含展开自选喜欢这个。 – Alexander