如何避免Swift中的全局状态

时间:2015-04-10 21:02:04

标签: ios singleton global-state

我一直在阅读有关避免可变状态的信息,以及单例模式对于具有全局状态的不良影响。

我看到关于依赖注入http://www.objc.io/issue-13/singletons.html的答案很少,但我找不到如何解决这个基本方法:

如何在应用程序周围维护用户数据?解决方案是将用户信息从一个视图(webservice请求的位置)通过参数视图传递到七个推送视图(再次需要哪里)?< / p>

有更好的方法吗?或者单身模式有时是必要的吗?

1 个答案:

答案 0 :(得分:0)

我使用单例来表示我在Swift中的Engine类。它在启动时初始化一次,并包含存储在结构中的静态类变量。对我来说很好。

class Engine{

struct properties{

static var resourceManager:ResourceManager!;
...
}

init(){
properties.resourceManager = ResourceManager();
}

在另一个课程中我可以打电话

Engine.properties.resourceManager