2016-05-12 19 views
0

在我的iOS应用程序中,我有从网络加载的用户数据,并保存为一个普通的Objective-C对象,该对象将其数据保存到NSUserDefaults中。我需要能够注销当前用户并将其删除,然后登录新用户并在整个应用程序中开始使用该用户。现在它只是一个单身我打电话UserManager,方法-(User)currentUser什么是正确的方式来存储用户数据,然后用Typhoon注入?

我正在过渡到在我的(http://typhoonframework.org)中使用Typhoon框架进行依赖注入。什么是正确的方式来存储用户数据?我知道我可以保留我的UserManager班,通过台风将它注入到我需要的地方,并将其设置为台风类型definition.scope = TyphoonScopeSingleton;

但是,如果我这样做,是不是还只是一个单身?我知道这会更好一些,因为它被注入到类中而不是隐藏在其实现中。但是,似乎应该有一个更好的方法来将某个User对象保留在某个地方,并且注入当前的对象,而不用包含在带有getter的[注入]单例中。

谢谢。

回答

0

感谢您使用台风!

如果我理解正确的话,你需要做的currentUser注射到你的类象为:

@implementation Assembly 

- (User *)currentUser 
{ 
    return [TyphoonDefinition withFactory:[self userManager] selector:@selector(currentUser)]; 
} 

- (UserManager *)userManager 
{ 
    return [TyphoonDefinition withClass:[UserManager class] configuration:^(TyphoonDefinition *definition) { 
     definition.scope = TyphoonScopeSingleton; 
    }]; 
} 
+0

呀,这几乎是我做了什么。我只是希望以某种方式来避免单身用户经理。可能没有办法,我只是想方圆。 –

相关问题