首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用typhoon给出多个实例注入单例

使用typhoon给出多个实例注入单例
EN

Stack Overflow用户
提问于 2016-11-30 17:43:54
回答 1查看 103关注 0票数 1

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

代码语言:javascript
复制
@implementation classAAssembly
- (id)classA {
    return [TyphoonDefinition withClass:[classA class] configuration:^(TyphoonDefinition *definition) {
               definition.scope = TyphoonScopeSingleton;
           }];
}

当应用程序加载时,这将创建实例并注入到相关位置

然后我有一些静态方法需要使用它,所以我试着如下所示

代码语言:javascript
复制
+ (void)staticMethod {
      classAAssembly *assembly = [[classAAssembly new] activate];
      classA *classA = [assembly classA];
}

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

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 18:37:39

您在上面创建了一个新的程序集。您需要做的是获得one created using plist integration的句柄。例如,要从您的应用程序委托访问程序集,请将其注入其中。

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

代码语言:javascript
复制
- (void) typhoonDidInject {
    myStaticAssembly = this.assembly
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40884930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档