谁能告诉我如何在 swift 中创建一个以节点为结构、以链表为类的链表。
我尝试创建一个引用自身的节点 Node 并遇到错误“值类型‘Node’不能具有引用自身的存储属性”
为了解决它,我又创建了一个类 Next 现在我无法继续进行。
最佳答案
您不能将节点作为“结构”,因为 Swift 将结构和枚举视为值类型,将类视为引用类型。
当您创建 LinkedList 类时,您很可能会创建对节点结构的引用。现在 struct 是一种值类型,为值类型捕获 self 是危险的做法,不鼓励。
因此,我建议您将 Node 创建为类,并利用 Swift 中的各种访问说明符来实现您正在尝试的抽象。
有关在值类型中捕获 self 的更多详细信息,您可以引用 https://github.com/Wolox/ios-style-guide/blob/master/rules/avoid-struct-closure-self.md .
关于ios - 以节点为结构的 swift LinkedList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48648089/