Каков ожидаемый жизненный цикл графических идентификаторов SWINject

#swift5 #swinject

Вопрос:

Я начну с того, что скажу, что я неопытен в Свинджекте.

Я пытаюсь понять, почему Swinject.graphIdentier в моем приложении постоянно растут экземпляры.

В моем случае, когда я ввожу ViewController, я создаю n экземпляров MyClass . n может быть разным при каждом посещении экрана.

Когда я покидаю контроллер представления, все экземпляры MyClass освобождаются (это доказано наблюдением за профилировщиком распределения).

Чего я не понимаю, так это почему экземпляры Swinject.graphIdentier продолжают расти.

Должны ли графические идентификаторы в swinject когда — либо быть очищены, и если да, то как я могу это сделать?

введите описание изображения здесь

Ниже приведен урезанный, надуманный пример моего кода.

  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()
   }