使用 Typhoon 的异步依赖解析
Asynchronous dependency resolution using Typhoon
我想在我的应用程序中添加一个正式的 DI 组件,Typhoon 看起来可以完成这项工作。在我深入研究之前,我想看看是否有任何方法可以处理必须异步解决的依赖项注入。
举个例子:我的核心数据堆栈是按照推荐的方式设置的here。由于初始化存储可能需要一些时间并阻塞主线程,因此它在后台线程中完成,并且当对象准备好可以使用时通知主线程。
我有一个包装此逻辑的对象,我的应用程序委托当前正在等待回调以通知数据库已准备就绪。然后通过 属性 注入将对象注入我图中的其他对象。
我想用 Typhoon 程序集替换此 属性 注入方法,但我看不到处理数据库对象初始化的异步性质的方法。如果那不可能,我是否可以将我的数据库对象初始化保留在 Typhoon 之外,但手动将生成的对象提供给 Assembly,以便在它准备好后与有线图一起使用?
如有任何提示,我们将不胜感激!
但是,我们对此没有任何特殊支持。 . .
范围:
台风提供 various scopes。如果使用异步初始化存储的对象属于以下范围:
TyphoonScopeObjectGraph
TyphoonScopePrototype
TyphoonScopeLazySingleton
TyphoonScopeWeakSingleton
。 . .也就是说,除了 TyphoonScopeSingleton
之外的任何范围,只要您最初呈现的视图控制器不依赖于核心数据存储,就不需要特殊设置。
要从一个对象图转到另一个对象图,您可以使用 this process, or if you're using storyboards and Objective-C just auto-injection。
手动提供对象注入:
您可以注册一个生成另一个对象的对象 like this 或者只提供一个自定义对象来参与组装。
。 .如果以上任何一项都不适合您的需要,并且您有其他通用的想法,我们很乐意为您实施。
Here's a sample / example for setting up Typhoon with Core Data,可以对其进行修改以支持您在问题中链接到的文章中的模式。
我想在我的应用程序中添加一个正式的 DI 组件,Typhoon 看起来可以完成这项工作。在我深入研究之前,我想看看是否有任何方法可以处理必须异步解决的依赖项注入。
举个例子:我的核心数据堆栈是按照推荐的方式设置的here。由于初始化存储可能需要一些时间并阻塞主线程,因此它在后台线程中完成,并且当对象准备好可以使用时通知主线程。
我有一个包装此逻辑的对象,我的应用程序委托当前正在等待回调以通知数据库已准备就绪。然后通过 属性 注入将对象注入我图中的其他对象。
我想用 Typhoon 程序集替换此 属性 注入方法,但我看不到处理数据库对象初始化的异步性质的方法。如果那不可能,我是否可以将我的数据库对象初始化保留在 Typhoon 之外,但手动将生成的对象提供给 Assembly,以便在它准备好后与有线图一起使用?
如有任何提示,我们将不胜感激!
但是,我们对此没有任何特殊支持。 . .
范围:
台风提供 various scopes。如果使用异步初始化存储的对象属于以下范围:
TyphoonScopeObjectGraph
TyphoonScopePrototype
TyphoonScopeLazySingleton
TyphoonScopeWeakSingleton
。 . .也就是说,除了 TyphoonScopeSingleton
之外的任何范围,只要您最初呈现的视图控制器不依赖于核心数据存储,就不需要特殊设置。
要从一个对象图转到另一个对象图,您可以使用 this process, or if you're using storyboards and Objective-C just auto-injection。
手动提供对象注入:
您可以注册一个生成另一个对象的对象 like this 或者只提供一个自定义对象来参与组装。
。 .如果以上任何一项都不适合您的需要,并且您有其他通用的想法,我们很乐意为您实施。
Here's a sample / example for setting up Typhoon with Core Data,可以对其进行修改以支持您在问题中链接到的文章中的模式。