在Swift中使用值类型进行双向关联
双向关联。 实体之间的双向关系。 例如,一个总统和一个国家,一个导演和他的电影等。这种关系是一对一,一对多还是多对多并不重要。 使用值类型无法完全表示它们。 由于值类型语义的原因,总会有不一致的地方 。
我将使用简单的示例尝试解释原因。
一对一
让我们考虑一下由总统管理国家的情况。
循环不断地进行……每次进行更改时,都会复制值,终止所有可能的值,以形成一致的关系图。
最后的话
由于不可变性,不可能仅使用结构来表示2向关系。 有时有必要依靠引用类型,即类。
我给你引用《 Swift编程手册》的一句话:
…。这意味着大多数自定义数据构造应该是类,而不是结构…Swift编程手册