如何在String格式类方法中使用String对象

时间:2014-11-27 12:47:48

标签: swift

假设我在Swift中有一个String对象,我想使用String format类方法将它与其他几个对象结合起来:

var foo = 0
var str = "str"
String(format: "%d (%s)", foo, str)

此示例未按预期工作,因为%s无法处理String个对象。那怎么办呢?

提前致谢。

3 个答案:

答案 0 :(得分:2)

String(format:)桥接到-[NSString initWithFormat]方法并接受 相同的格式说明符,例如对象的%@String被桥接到了 自动NSString,因此您也可以将%@用于Swift字符串。另请注意,Swift Int类型对应于C:

中的long
var foo = 0
var str = "str"
let result = String(format: "%ld (%@)", foo, str)

答案 1 :(得分:1)

你只需使用字符串插值

var foo = 0
var str = "str"
String(format: "%d (\(str))", foo)

答案 2 :(得分:0)

除非您需要创建字符串的Foundation方法,否则可以使用"字符串插值"。例如:

let str = "I am \(height.feet) feet \(height.inches) inches tall."

制作:"我身高6英尺5英寸。"使用字符串插值,您可以在内联插入变量,而不必在格式语句中使用C-esque占位符。