在Swift中使用值类型进行双向关联

双向关联。 实体之间的双向关系。 例如,一个总统和一个国家,一个导演和他的电影等。这种关系是一对一,一对多还是多对多并不重要。 使用值类型无法完全表示它们。 由于值类型语义的原因,总会有不一致的地方

我将使用简单的示例尝试解释原因。

一对一

让我们考虑一下由总统管理国家的情况。

循环不断地进行……每次进行更改时,都会复制值,终止所有可能的值,以形成一致的关系图。

最后的话

由于不可变性,不可能仅使用结构来表示2向关系。 有时有必要依靠引用类型,即类。

我给你引用《 Swift编程手册》的一句话:

…。这意味着大多数自定义数据构造应该是类,而不是结构…Swift编程手册

Interesting Posts