[英]String? is not convertible to 'NSString'
我正在学习有关Udemy的Apple WatchKit课程,在其中我将创建一个货币换算类型的应用程序。 以下语法适用于视频中的绅士,但给我一个错误:
func parser(parser: NSXMLParser, foundCharacters string: String?) {
....
currencyConversions[getCurrency] = (string as NSString).doubleValue
他指出,我们需要先将此对象转换为NSString,然后将其转换为double。 但是,出现以下错误:
串? 不能转换为“ NSString”
也许他正在使用Swift / Xcode的较新版本? 我怎样才能解决这个问题?
这适用于Xcode 6.4和Xcode 7.1.1 :
由于s
是Optional
String
,因此在将其强制转换为NSString
之前,您需要安全地将其解包。 使用nil合并运算符 ??
要做到这一点:
currencyConversions[getCurrency] = ((string ?? "") as NSString).doubleValue
NSString具有一个构造函数,该构造函数由普通字符串组成。 尝试从NSString(string!)调用它,希望它应该能工作!
您需要先解开字符串对象,然后再投射它。 展开包装前,请不要忘记检查可选对象的nil值。
if (string != nil){
currencyConversions[getCurrency] = (string! as NSString).doubleValue
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.