gpt4 book ai didi

ios - 台风 - 到处注入(inject)相同的实例

转载 作者:行者123 更新时间:2023-12-04 02:16:59 27 4
gpt4 key购买 nike

我有一个在几个地方注入(inject)的 A 类。我想在任何地方注入(inject)相同的 A 实例 - 有点像 Singleton,但需要注入(inject)。

有没有可能用台风做到这一点

最佳答案

Typhoon 具有三个作用域,您可以为此使用 TyphoonScopeSingleton , TyphoonScopeLazySingletonTyphoonScopeWeakSingleton .

设置组件的范围:

- (PFRootViewController *)rootViewController
{
definition.scope = TyphoonScopeSingleton;
}

使用此作用域可获得单例的所有优点,而 DI 模式则避免了这些缺点。

有关台风范围的更多信息:

许多其他语言的 DI 容器的默认范围为 singleton,而在 Typhoon 中,默认范围为 TyphoonScopeObjectGraph。具有默认的单例范围对于服务器环境很有意义,在服务器环境中,应用程序可能会在给定时间为任何用例提供服务。

同时,Typhoon 针对移动和桌面环境,因此对象图范围旨在将程序集加载到内存中( View Controller 示例),然后在处理另一个用例后丢弃它。任何共享引用,例如指向父级(例如委托(delegate))的循环依赖,都将被共享。

当然,虽然这是默认设置,但在某些情况下还需要其他范围。更多信息可以在 scopes section of the user guide 中找到.

关于ios - 台风 - 到处注入(inject)相同的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416799/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com