我需要转到引用的结构:
class SearchKnot {
var isWord : Bool = false
var text : String = ""
var toNext = Dictionary<String,SearchKnot>()
}
插入时,我需要更新toNext字典中的值。因为我想避免递归,所以我在循环中进行。但是我需要一个变量,它从一个跳到另一个项到另一个,能够改变它。
var knots = toNext
...
let newKnot = SearchKnot()
knots[s] = newKnot
最后一个命令只更改本地副本,但我需要更改原始文件。我需要间接访问。在C中,我会使用* p,我将其定义为&amp; toNext。但在斯威夫特?
答案 0 :(得分:0)
我找到了解决方案。我想起了旧帕斯卡的日子。 ;-) 我没有使用最后一个参考,但是最后一个参考。而不是
knots[s]
我用
p.knots[s]
为了跳到下一个结,我也使用
p = p.knots[s]
可以使用
p.knots[s]
一次。 p.knots[s] = newKnot
也有效,因为p是本地而不是整个术语。