我想在我的应用程序中添加一个正式的DI组件,Typhoon看起来可以完成这个任务。在深入研究之前,我想看看是否有任何方法处理必须异步解决的依赖项注入。
举个例子:我的核心数据栈是以推荐的这里方式设置的。因为初始化存储可能需要一些时间并阻塞主线程,所以它是在后台线程中完成的,并且主线程在对象准备使用时被通知。
我有一个对象包装了这个逻辑,我的app委托目前正在等待一个回调,以通知数据库已经准备好了。然后通过属性注入将该对象注入到图形中的其他对象中。
我想用Typhoon Assemblies代替这个属性注入方法,但是我看不出有什么方法可以处理数据库对象初始化的异步性质。如果这是不可能的,我是否可以让我的数据库对象初始化远离Typhoon,但是手动地将生成的对象提供给程序集,以便在它准备好之后与有线图一起使用?
会感谢你的任何建议!
发布于 2015-09-30 09:38:59
然而,我们对此没有任何特别的支持。。。
Scopes:
台风提供各种范围。如果正在使用异步独立存储的对象属于以下作用域:
TyphoonScopeObjectGraphTyphoonScopePrototypeTyphoonScopeLazySingletonTyphoonScopeWeakSingleton。。。也就是说,除了TyphoonScopeSingleton之外,任何范围都不需要特殊设置,只要初始呈现的视图控制器不依赖于核心数据存储。
要从一个对象图转到另一个对象图,您可以使用这一过程,或者如果您使用故事板和object只是自动注入。
手动提供一个注入对象:
您可以注册生成另一个对象像这样的对象,也可以只提供一个自定义对象来参与程序集。
。。如果上述任何一个都不适合您的需求,并且您有其他的想法,这将是通用的,我们将乐意为您实现它。
下面是一个用Core数据设置台风的示例/示例,可以对其进行修改,以支持您在问题中链接到的文章中的模式。
https://stackoverflow.com/questions/32862103
复制相似问题