Swift中的格式字符串

时间:2016-02-02 18:29:35

标签: ios string swift watchkit

我在我的iPhone应用程序中收到的名为accountInfoDict的NSDictionary中保存了一个String。我想在我的手表套件应用程序中使用Swift显示此字符串。

这就是我尝试显示字符串的方式:

self.pointsLabel.setText(String(format: "%@ points",
arguments: accountInfoDict!["points"] as? String))

我收到一条错误消息:

  

无法转换类型'字符串的值?'预期参数类型' [CVarArgType]'

有谁知道这意味着什么以及如何格式化我的字符串以使其工作?谢谢!

注意:

当我这样做时,字符串显示正确:

self.pointsLabel.setText(accountInfoDict!["points"] as? String)

但我想添加"积分"到字符串的末尾。

2 个答案:

答案 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")