gpt4 book ai didi

ios - Swift 中的双向链表 : why is only one of the references declared weak?

转载 作者:搜寻专家 更新时间:2023-11-01 06:27:47 25 4
gpt4 key购买 nike

class DoublyLLNode<T>{

var value<T>?
weak var prev: DoublyLLNode? = nil
var next: DoublyLLNode? = nil

}

为什么一个值(prev 或 next)标记为 weak?我们不能让两者都变弱吗?如果是,为什么?如果没有解释。

最佳答案

如果两者都是弱引用,则不会对任何节点有任何强引用,并且所有节点都将被释放。

当存在父/子关系时,您通常在父对象中对子对象有强引用,而子对象对其父对象有弱引用。将 next 视为“子级”,将 prev 视为“父级”。

如果两者都很强,您最终会得到引用循环。

关于ios - Swift 中的双向链表 : why is only one of the references declared weak?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51618319/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com