加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Swift中使用CVaListPointer参数调用方法

发布时间:2020-12-14 05:31:39 所属栏目:百科 来源:网络整理
导读:我该如何调用以下方法?该方法属于打印日志的类. func log(format: String!,withParameters valist: CVaListPointer) 我想要实现的目标在Objective-C中看起来像这样: NSLog(@"Message %@ - %@",param1,param2); 有任何想法吗? CVaListPointer是C va_list类
我该如何调用以下方法?该方法属于打印日志的类.
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: $0) }

输出:

2016-04-27 21:02:54.364 prog[6125:2476685] foo 12 34.560000

对于Swift 3,用CVarArg替换CVarArgType.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读