You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
При наличии нескольких одинаковых registerresolve падает с критической ошибкой:
protocol P {
}
class C: P {
}
container.register(C.init).as(P.self).lifetime(.single) // 1
container.register(C.init).as(P.self).lifetime(.single) // 2
let obj: C = container.resolve() // crash
Ситуация довольно типовая, когда выражения 1 и 2 находятся в разных модулях. lifetime ситуацию не меняет.
The text was updated successfully, but these errors were encountered:
Здравствуйте. Да такое не разрешено (в любой библиотеке, где-то просто это не пишется как ошибка, а просто игнорирует одну из регистраций), по как по мне понятным
причинам - зачем регистрировать в один контейнер одинаковые зависимости?
А если вы в одном месте решите слегка изменить её (тотже lifetime разный сделать), то какую зависимости нужно брать?
Да и простой пример - вы же класс один и тот же в разных модулях почему-то не создаёте.
Регистрация зависимости должна быть в модуле где эта зависимость создана, а не где планируется использоваться.
При наличии нескольких одинаковых
register
resolve
падает с критической ошибкой:Ситуация довольно типовая, когда выражения 1 и 2 находятся в разных модулях.
lifetime
ситуацию не меняет.The text was updated successfully, but these errors were encountered: