У меня есть экземпляр Set
, и я хочу поместить его в Dictionary
и связать его с несколькими ключами, чтобы я мог искать / изменять его в будущем.
Следовать коду Python - это то, чего я хочу достичь в Swift.
s = set()
D = {}
D["a"] = s
D["b"] = s
D["a"].add("Hello")
D["a"].add("World")
print(D["b"]) # getting {"Hello", "World"} back
Я пробовал что-то вроде следующего в Swift.
var s = Set<String>()
var D = Dictionary<String, Set<String>>()
D["a"] = s // copy of s is assigned
D["b"] = s // another copy of s is assigned
D["a"]!.insert("Hello")
D["a"]!.insert("World")
print(D["b"]!) // empty :(
Поскольку коллекции в Swift содержат семантику значений, ко времени, когда я помещаю набор в словарь, создается новый экземпляр. Есть ли обходной путь? Я знаю, что мог бы использовать NSMutableSet
вместо Set
Swift, но я хочу знать, как я могу подойти к этому, используя коллекции с семантикой значений, если это возможно.