2017-12-06 14 views
0

NSString(format: , arg...)を使用して、このラベルの1つ以上の値を増やしてUILabelを更新しようとしています。[Float]を変数の引数に変換する

これを行うには、Float...(これは私が欲しいものです)という引数を受け取る関数があります。それらを格納するために私が見つけた唯一の解決策は、配列[Float](これは私が望むものではありません) 。 次に、配列の各値を変更して表示します。

私のUILabelのテキストを変更するには、私はlabel.text = NSString(format: "%f and %f", myArrayOfFloat)を使用しており、動作しません。 NSStringは、配列ではなく、配列を単一の値として扱います。

誰かが解決策を持っていれば、私はすべての耳です。

答えて

1

(Cでva_listのスイフトと等価である)CVaListPointer として代入値をとる

NSString(format: String, arguments argList: CVaListPointer) 

イニシャライザがあります。例:

let myArrayOfFloat: [Float] = [1.2, 3.4] 
let text = withVaList(myArrayOfFloat) { 
    NSString(format: "%f and %f", arguments: $0) 
} 
print(text) // 1.200000 and 3.400000 

しかし、単一のアレイパラメータとして代入値をとる

String(format: String, arguments: [CVarArg]) 

初期化子を使用して、Stringを作成するために簡単です。例:

let myArrayOfFloat: [Float] = [1.2, 3.4] 
let text = String(format: "%f and %f", arguments: myArrayOfFloat) 
print(text) // 1.200000 and 3.400000 
+0

Yeeeesssss、それは私が探していたものです!ありがとうございました ;) –

関連する問題