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