Swift:间接访问/可变

时间:2015-08-05 15:41:00

标签: swift pointers mutable

我需要转到引用的结构:

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。但在斯威夫特?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我想起了旧帕斯卡的日子。 ;-) 我没有使用最后一个参考,但是最后一个参考。而不是

knots[s]

我用

p.knots[s]

为了跳到下一个结,我也使用

p = p.knots[s]

可以使用

p.knots[s]

一次。 p.knots[s] = newKnot也有效,因为p是本地而不是整个术语。