【发布时间】:2016-07-06 14:02:51
【问题描述】:
我刚刚更新到 Xcode 8.0 beta 2 和 swift 3.0,我在一些现有的 swift 2.3 代码中遇到了关于可选字符串的错误:
二元运算符“+”不能应用于“字符串”类型的操作数和 “字符串!”
变量“store”是“Store”对象的一个实例,其属性为addressStreet 和addressCity,均定义为var addressStreet: String!
addressLabel.text = ... 行出现错误
if store != nil {
addressLabel.text = store!.addressStreet + String(", ") + store!.addressCity
}
我不明白!对我来说,似乎没有一个字符串是可选的,为什么会出现这个错误,我该如何解决?
【问题讨论】:
-
奇怪,这适用于 Swift 2.2 swiftlang.ng.bluemix.net/#/repl/577d1066fc6e90d25e4ad0d5
-
你真的不应该像这样滥用隐式展开的选项。
-
我相信这是一个已知的错误,详情请参阅this thread(错误报告here)。
-
我无法重现该问题,您能出示您的
Store课程代码吗? -
这似乎是一个错误。用“,”替换 String(", ") 解决了我的问题。
标签: ios swift string optional swift3