2016-05-12 14 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

呀,這幾乎是我做了什麼。我只是希望以某種方式來避免單身用戶經理。可能沒有辦法,我只是想方圓。 –

相關問題