繁体   English   中英

串? 不能转换为“ NSString”

[英]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.4Xcode 7.1.1

由于sOptional 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM