使用 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 - VALUE
从 current_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)
}
注意:此处使用您用于存储数据的相同密钥
我正在尝试在我的 iOS 应用中保存两个不同用户的数据。我确实设法使用这样的 Sharedpreferences 在 android 中保存了两个或更多用户的登录和个人资料详细信息。
getSharedPreferences (String FIRST_USER, int mode)
getSharedPreferences (String SECOND_USER, int mode)
...
通过这种方法,我将只检查当前用户的 userid
并在启动时加载 SharedPrefs
文件,然后使用相同的 KEY - VALUE
从 current_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)
}
注意:此处使用您用于存储数据的相同密钥