1
分配可選考慮下面的代碼:斯威夫特:如何通過參考
class Node {
var value: Int
var left: Node?
var right: Node?
init (value: Int) {
self.value = value
}
}
root = Node(value: 200)
然後將下面的代碼分配一個新的節點root.left:
var temp1 = root
temp1!.left = Node(value: 400)
但下面不分配一個新的節點root.right:
var temp2 = root!.right
temp2 = Node(value: 300)
大概在最後的代碼片段根!.right被賦值給temp2,如果是的話,那麼然後有沒有一種通過引用分配它的方法?
有沒有辦法讓temp2成爲一個引用,所以它有可能遍歷數據結構,例如:for(var temp = root; temp!= nil; temp = value
Gruntcakes
嗯我不知道你爲什麼需要一個引用類型,但嘗試使'節點'結構,而不是一個類。 – BradzTech
因爲如果它的參考然後不temp2指向原來的而不是它的副本? – Gruntcakes