例如:var str = String(格式:"%12s - %s","key","value")
我想要的是关键将持有长度为12的字符.键___________-值
(这里是下划线的空格)
谢谢.
正如文档所说,COpaquePointer是一个不透明的C指针的包装器.不透明指针用于表示无法在Swift中表示的类型的C指针,例如不完整的结构类型.
关键是String- 本机Swift类型.我相信使用这个Swift String函数会更好:
let testString = "bla bli blah"
testString.stringByPaddingToLength(3, withString: "", startingAtIndex: 0)
//output = "bla"
Run Code Online (Sandbox Code Playgroud)
斯威夫特3
let testString = "bla bli blah"
testString.padding(toLength: 3, withPad: "", startingAt: 0)
//output = "bla"
Run Code Online (Sandbox Code Playgroud)
基本上,要String使用 进行格式化String(format: _:...),我们可以使用%@:
String(format: "%@ - %@", "key", "value")
Run Code Online (Sandbox Code Playgroud)
但是,我相信%@不支持“宽度”修饰符:你不能%12@等等。
因此,您必须转换String为COpaquePointer可以格式化的格式%s:
var key = "key"
var val = "value"
var str = String(format: "%-12s - %s",
COpaquePointer(key.cStringUsingEncoding(NSUTF8StringEncoding)!),
COpaquePointer(val.cStringUsingEncoding(NSUTF8StringEncoding)!)
)
// -> "key - value"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3485 次 |
| 最近记录: |