我在我的iPhone应用程序中收到的名为accountInfoDict
的NSDictionary中保存了一个String。我想在我的手表套件应用程序中使用Swift显示此字符串。
这就是我尝试显示字符串的方式:
self.pointsLabel.setText(String(format: "%@ points",
arguments: accountInfoDict!["points"] as? String))
我收到一条错误消息:
无法转换类型'字符串的值?'预期参数类型' [CVarArgType]'
有谁知道这意味着什么以及如何格式化我的字符串以使其工作?谢谢!
注意:
当我这样做时,字符串显示正确:
self.pointsLabel.setText(accountInfoDict!["points"] as? String)
但我想添加"积分"到字符串的末尾。
答案 0 :(得分:2)
你可以通过编写它来实现它:
// If point is nil, shows 0
let point = accountInfoDict!["points"] as? String ?? "0"
self.pointsLabel.setText("\(point) Points")
你也可以把它写成:
self.pointsLabel.setText(String(format: "%@ points", arguments: [point]))
更方便:
self.pointsLabel.setText(String(format: "%@ points", point))
答案 1 :(得分:1)
将其分成两行:
let points = accountInfoDict!["points"] as! String
self.pointsLabel.setText(String(format: "%@ points",points))
你也可以在Swift中使用字符串插值:
self.pointsLabel.setText("\(accountInfoDict!["points"]!) points")