假设我有一些表示网络连接的对象。断开这些连接后,关联的对象将消失。我不想挂起不再连接的连接对象。
我还想使用字典将一些数据与这些连接相关联。所以我可能有代码:
class Connection { ... }
class Metadata { ... }
var metadata: [Connection: Metadata] = [:]
但上面的代码意味着字典会保留对引用的引用 Connection
我不想要的物品。我希望删除相关的条目,理想情况下自动删除 Connection
物体消失了。
所以我尝试过:
var metadata: [weak Connection: Metadata] = [:]
但这不起作用。什么是一个很好的替代解决方案?