我正在尝试在我的 iOS 应用程序中保存两个不同用户的数据。我确实设法使用这样的共享首选项在 Android 中保存两个或多个用户的登录和个人资料详细信息。
getSharedPreferences(字符串 FIRST_USER,int 模式)
getSharedPreferences(字符串SECOND_USER,int模式)
...
通过这种方法,我只需检查当前用户的 userid
并在启动时加载 SharedPrefs
文件,然后从 current_users sharedPref
读取数据文件使用相同的KEY - VALUE
对。当用户切换时,只需加载不同的文件,一切都会改变。
我知道 UserDefaults 相当于 iOS 中的共享首选项,但我不知道是否 我可以使用不同的 SharedPrefs 文件执行类似于在 android 中执行的操作。
没有任何 iOS 编程经验。
感谢任何帮助。
最佳答案
1.使用以下方法获取数据保存路径:
func filePath(key:String) -> String {
let manager = FileManager.default
let url = manager.urls(for: .documentDirectory, in: .userDomainMask).first
return (url!.appendingPathComponent(key).path)
}
2.使用以下代码存储您的数据:
NSKeyedArchiver.archiveRootObject(data, toFile: filePath(key: "anyKey"))
3.使用以下代码获取您保存的数据:
if let data = NSKeyedUnarchiver.unarchiveObject(withFile:filePath(key:"anyKey")) {
//here you will get your data
print(data)
}
注意:此处使用与存储数据相同的 key
关于ios - 使用UserDefaults来存储不同用户的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48317786/