class LinkedList : NSObject
{
var head : Node?
var tail : Node?
func insertAtHead(newNode : Node)
{
if (head != nil) {
newNode.next = head
head?.prev = newNode
head = newNode
}
else {
head = newNode
}
}
}
我的節點類是:爲什麼在檢查變量不是零後再次使用可選鏈接?
class Node : NSObject
{
var value : Int = 0
var next : Node?
var prev : Node?
}
我的困惑是關於insertAtHead方法裏面的線head?.prev = newNode
。我已經檢查並確認頭部不是零,爲什麼我不能在那種情況下輸入head.prev = newNode
?爲什麼我應該使用可選的鏈接?
你'Node'類導致強烈的保留週期,因此內存泄漏。它也沒有理由從NSObject繼承。 – Alexander