替换Objective-C" lazy-getter-as-dependency-injection"斯威夫特的模式?

时间:2014-11-27 13:32:52

标签: swift dependency-injection

缺少Typhoon,我被告知在Objective-C中进行(或至少模拟)依赖注入的方式是使用惰性模式:

- (Foo)foo
{
    if (!_foo) {
        _foo = [Foo sharedInstance];
    }
    return _foo;
}

我总是厌恶这个,因为你最终得到了这个七行样板代码的多个实例,污染了每个视图控制器。您甚至无法将其隐藏在类别中,因为您无法定义类别的属性。

直到Swift获得注释和内省功能,我可以编写如下内容:

@injected foo: Foo!

...人们在Swift中使用哪些模式从多个Storyboard实例化的视图控制器获取对共享模型对象的引用?

0 个答案:

没有答案