使用 UserDefaults 存储不同用户的数据

Use UserDefaults to store data for different users

我正在尝试在我的 iOS 应用中保存两个不同用户的数据。我确实设法使用这样的 Sharedpreferences 在 android 中保存了两个或更多用户的登录和个人资料详细信息。

getSharedPreferences (String FIRST_USER, int mode) getSharedPreferences (String SECOND_USER, int mode) ...

通过这种方法,我将只检查当前用户的 userid 并在启动时加载 SharedPrefs 文件,然后使用相同的 KEY - VALUEcurrent_users sharedPref 文件读取数据] 对。当用户切换时,只需加载不同的文件,一切都会改变。

我知道 UserDefaults 等同于 iOS 中的 sharedprefs 但我不知道是否 我可以用不同的 SharedPrefs 文件做一些类似于我在 android 中所做的事情。

在 iOS 编程方面没有任何高级经验。

感谢任何帮助。

1.Use 获取数据保存路径的方法如下:

func filePath(key:String) -> String {
    let manager = FileManager.default
    let url = manager.urls(for: .documentDirectory, in: .userDomainMask).first
    return (url!.appendingPathComponent(key).path)
}

2.Store 您的数据使用以下代码:

NSKeyedArchiver.archiveRootObject(data, toFile: filePath(key: "anyKey"))

3.Fetch 您使用以下代码保存的数据:

if let data = NSKeyedUnarchiver.unarchiveObject(withFile:filePath(key:"anyKey")) {
       //here you will get your data
       print(data)
}

注意:此处使用您用于存储数据的相同密钥