gpt4 book ai didi

swift - Swift 中的递归类型定义

转载 作者:行者123 更新时间:2023-11-28 11:03:48 27 4
gpt4 key购买 nike

我遇到了一个看起来非常容易解决的问题,我想我可能遗漏了一些东西。

当试图创建一个递归变量(?)时程序崩溃,同时它是一个类的成员。例如:

class A {
var x: A

init() {
x = A()
}
}

检查崩溃日志表明存在某种递归,init() 被无限调用。

是否有合适的方法/语法来解决这类问题,因为我需要将变量 x 键入到类 A 中,并且初始化程序必须初始化变量 x 到类 A?

最佳答案

很明显,在某些步骤中,您应该使属性 x 保持未初始化状态。因此,最好将其声明为 Optional,并在创建实例后对其进行初始化:

class A {
var x: A?
}

let mainObject = A()
let nestedObject = A()
mainObject.x = nestedObject

关于swift - Swift 中的递归类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39468849/

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