gpt4 book ai didi

ios - 使用台风注入(inject)单例提供多个实例

转载 作者:行者123 更新时间:2023-12-01 19:58:49 25 4
gpt4 key购买 nike

我有如下组装,它将从 plist 启动

@implementation classAAssembly
- (id)classA {
return [TyphoonDefinition withClass:[classA class] configuration:^(TyphoonDefinition *definition) {
definition.scope = TyphoonScopeSingleton;
}];
}

当应用程序加载时,这会创建实例并注入(inject)相关位置

然后我有一些静态方法需要使用它,所以我尝试如下
+ (void)staticMethod {
classAAssembly *assembly = [[classAAssembly new] activate];
classA *classA = [assembly classA];
}

问题是当我这样做时它会提供新实例,我期望的是在应用程序加载时创建的相同实例。

任何帮助,将不胜感激。

最佳答案

您正在上面创建一个新程序集。您需要做的是获取 one created using plist integration 的句柄.因此,例如要从您的应用程序委托(delegate)访问程序集,请将其注入(inject)其中。

要从静态方法访问程序集,您必须创建一个指向它的静态指针:

- (void) typhoonDidInject {
myStaticAssembly = this.assembly
}

关于ios - 使用台风注入(inject)单例提供多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884930/

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