swift结构体不能有递归包含它的存储属性,cannot have a stored property that recursively contains it
struct Dog { var name: String var son: Dog } struct Student { var p : Person? } struct Person { var name :String var son: Student? }
以上代码都会报错,
原因:
结构体是值类型,创建结构体需要再栈去开辟空间,如果包含循环的结构体属性,将无法开辟内存空间(无限循环开辟空间)
A开辟空间,A里的B再开辟空间,A里的B里的A再开辟空间。。。。