假设我在Swift中有一个String
对象,我想使用String format
类方法将它与其他几个对象结合起来:
var foo = 0
var str = "str"
String(format: "%d (%s)", foo, str)
此示例未按预期工作,因为%s
无法处理String
个对象。那怎么办呢?
提前致谢。
答案 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占位符。