1

我开始 Swift 和 IOS 开发,所以我对此很陌生,我在 java 中制作我想要的东西(参见示例)但我找不到如何在 Swift 中做我想在 Swift 上制作字典,我知道我可以这样

var dict = Dictionary<String, Array<String>>()

var s1 = "one"
var s2 = "two"
var s3 = "three"
var root = "numbers"
dict[root] = [s1,s2,s3]

for str in dict
{
    print(str.value)
}

但这不是我想要的。我像这样在java中做同样的事情

final TreeMultimap<String, String> third1000multi = TreeMultimap.create(Ordering.<String>natural(), Ordering.<String>natural());
for (Word w : third1000) {
            third1000multi.put(w.getType(), w.getWord());
        }

如果没有这样的键,则必须创建一个键,如果有键,则必须将值添加到键中。例如,

  1. "choose" --> "choosing" (没有任何键 "choose" 所以创建一个并把它放在 "choosing" 值中选择 = ["choosing"] )

2.“choose”-->choosen(有一个名为“choose”的键,所以在里面加上这个值。ch​​oose = ["choosing","choosen"] 谢谢你的帮助:)

4

1 回答 1

2

您可以使用Dictionary subscript(_:default:)访问器。

var dict = [String:[String]]()

var words = [ "one", "two", "three"]
var root = "numbers"

for word in words {
    dict[root, default: []].append(word)
}
print(dict)

或者更接近您的 Java 代码:

var third1000multi = [String:[String]]()
for w in third1000 {
    third1000multi[w.type, default: []].append(w.word)
}
于 2018-05-14T20:16:36.030 回答