私は自分のコードを最適化しようとしています。私は次のことをしたい:dict
の要素がfirstNames
の配列にある場合は、この要素をfirst
変数に直接書き込むことができます。これはsecond
などと同じです。また、私は、ループを反復処理するとfirst
に値を設定しようとしsecond
等val
String Swiftと同じ名前の変数の使用方法
second
となど - >
first
、
secondNames
< - 私は、変数
firstNames
<をリンク含ま
names
配列を作成しました
let dict = ["type": "1", "word": "abc"] // this is example
let firstNames = ["1", "2"]
let secondNames = ["3", "4"]
var first = String()
var second = String()
let names = [firstNames: first, secondNames: second]
for el in dict {
for var (key, val) in names {
if (key as! [String]).contains(el["type"]!) {
if ((val as! String) != "") {
val = (val as! String) + ", " + el["word"]!
}
else {
val = el["word"]!
}
}
}
}
このコードには実行時エラーがありません。しかし、残念ながら私がループにval
を設定しようとしているときに何も起こっていません。私が間違ってやっているのはもっと洗練された解決策ですか?
ありがとうございました。
私は、あなたがしたいことを正確に完全には追い抜いていません。 'dict'のようなものの例を追加できますか?現在、 'names'変数はarrayという名前の辞書であり、valueはstring(' [[String]、String] ')です。 –
@PaulPeelenが追加されました。私は変数 '1abc'を持っていれば '1abcd'に書き込み、' 2abc'があれば '2abcd'に書き込み、' 3abc'があれば '3abcd' ...私は、変数1の同じ名前(部分的に同じ)から変数2の名前を取得する方法を意味します。 – Danny
別の変数である変数名を使用して変数に書き込むことはできません。 "変数名"としてキーを使用して辞書を使用してください – Paulw11