在开始使用实际的API之前,我正在使用一些虚拟数据。但是我填写一个带有数字的标签时遇到了一些问题,需要添加一个符号。
不是解释所有内容,而是下面的早期设计的屏幕截图:
我有一个double,它将作为字典中的double提供,包含不同类型的值。 (字符串:AnyObject)
这是我的虚拟词典数组:
var objects = NSMutableArray()
var dataArray = [ ["stockName":"CTC Media Inc.","action":"sell","stockPrice":12.44],
["stockName":"Transglobal Energy","action":"buy","stockPrice":39.40],
["stockName":"NU Skin Enterprises","action":"buy","stockPrice":4.18]
]
现在我的尝试是把它变成一个字符串。
首先,我发现了另一个类似的问题但是使用了Int。他们的解决方案适用于整数:
var StockValueString = String(object["stockPrice"] as Int)
然而,当我尝试使用Float或Double时。我收到一个错误:
var StockValueString = String(object["stockPrice"] as Double)
错误:
Type 'String' does not conform to protocol 'NSCopying'
我尝试添加“?”在“as”之后,但它没有解决它。
我需要将其转换为字符串,因此我可以添加美元符号。并将其显示在标签中。
非常感谢任何帮助!
答案 0 :(得分:1)
怎么样:
let stockPriceKey = "stockPrice"
var StockValueString = "$\(object[stockPriceKey]!)"
答案 1 :(得分:1)
您可以在Swift的字符串中使用变量插值。首先得到你的价格,然后在$ prepended -
的字符串中使用它var stockValueString=""
if let price=dataArray[0]["stockPrice"] {
stockValueString="$\(price)"
}
此外,(强)约定变量的注释应以小写字母开头。班级名称以大写字母开头。