2016-04-27 19 views

答えて

10

CVaListPointerはC va_listタイプ のスウィフト等価であると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 

スウィフト3、についてはCVarArgCVarArgTypeを交換してください。

+0

'CVaListPointer'の代わりに' CVarArg'を使う関数には、何がお勧めできますか? – kelin

+0

'CVarArgType'を' CVarArg'に置き換えると、コンパイラは型のためにエラーを表示し、 'CVarArg'を' CVarArgType'にキャストしようとするとクラッシュします。 – kelin

関連する問題