1

我会开始说我对 Swinject 没有经验。

我试图弄清楚为什么Swinject.graphIdentier实例在我的应用程序中不断增长。

在我的情况下,当我输入 ViewController 时,我创建了nMyClass. 每次访问屏幕时,n可以是不同的数量。

当我离开视图控制器时,所有实例MyClass都被释放(通过观察分配分析器证明)。

我不明白的是为什么实例Swinject.graphIdentier继续增长。

是否应该清理 swinject 中的 GraphIdentifers,如果是,我该怎么做?

在此处输入图像描述

下面是我的代码的一个精简的、人为的示例。

 class MyClass {
    
    }
    
 container.register(MyClass.self) {_ in
        return MyClass()
    }
    //Graph Identifier Count goes up
  func addItems() {
      let newItem = AppAssembler.resolver.resolve(MyClass.self)
      items.append(newItem)
   }
    //Graph Identifier count never goes down
  func removeItems() {
     items.removeAll()
   }
4

0 回答 0