2016-09-22 69 views
-1

我想在用戶註銷時重置所有全局變量,否則其中一些信息將保留(全局變量中的信息)。如何重置所有全局變量?

有沒有辦法做到這一點,而沒有手動將它們重置爲初始值時,按下注銷按鈕?

回答

1

如果我正確理解你,你將用戶數據保存到一個全局變量?這對我來說似乎沒有意義。

如果您正打算等於NSUserDefaults的全局變量,你可以用下面的辦法來從你的標準UserDefaults刪除數據:

private func cleanUserDefaultsOnLogout() { 
    let standardDefaults = UserDefaults.standard 
    for key in standardDefaults.dictionaryRepresentation().keys { 
     standardDefaults.removeObject(forKey: key) 
    } 
    standardDefaults.synchronize() 
} 

請糾正我,如果我誤解你的題。

+0

是的,我想使用NSUserDefaults,但問題是我需要它們跨不同的屏幕訪問,這就是爲什麼我把它們作爲全局變量。因此,例如,我有一個進入Tab1的mealArray - Rota,Tab2 - 膳食列表和Tab 3 - 來自mealsArray的成分。如果他們是本地和NSUserDefaults,那麼他們將無法訪問。或者我誤解了這個? –

+0

NSUserDefaults可以通過不同的ViewController訪問,只需創建一個'UserDefaults.standard'對象並通過它們的密鑰訪問它們。 – cr0ss

+0

我不知道,只有幾個月快速。非常感謝你,非常有用@ cr0ss –