如何在 Swift 中使用 CVaListPointer 参数调用方法
How to invoke method with CVaListPointer parameters in Swift
我该如何调用下面的方法?该方法属于打印日志的class。
func log(format: String!, withParameters valist: CVaListPointer)
我想要实现的,在 Objective-C 中看起来像这样:
NSLog(@"Message %@ - %@", param1, param2);
有什么想法吗?
CVaListPointer
是 C va_list
类型的 Swift 等价物
并且可以使用 withVaList()
.
从 [CVarArgType]
数组创建
示例:
func log(format: String!, withParameters valist: CVaListPointer) {
NSLogv(format, valist)
}
let args: [CVarArgType] = [ "foo", 12, 34.56 ]
withVaList(args) { log("%@ %ld %f", withParameters: [=10=]) }
输出:
2016-04-27 21:02:54.364 prog[6125:2476685] foo 12 34.560000
对于Swift 3,将CVarArgType
替换为CVarArg
。
我该如何调用下面的方法?该方法属于打印日志的class。
func log(format: String!, withParameters valist: CVaListPointer)
我想要实现的,在 Objective-C 中看起来像这样:
NSLog(@"Message %@ - %@", param1, param2);
有什么想法吗?
CVaListPointer
是 C va_list
类型的 Swift 等价物
并且可以使用 withVaList()
.
[CVarArgType]
数组创建
示例:
func log(format: String!, withParameters valist: CVaListPointer) {
NSLogv(format, valist)
}
let args: [CVarArgType] = [ "foo", 12, 34.56 ]
withVaList(args) { log("%@ %ld %f", withParameters: [=10=]) }
输出:
2016-04-27 21:02:54.364 prog[6125:2476685] foo 12 34.560000
对于Swift 3,将CVarArgType
替换为CVarArg
。