我试图在我的iOS应用中保存两个不同用户的数据。我确实设法使用像这样的Sharedpreferences来保存android中两个或更多用户的登录和个人资料详细信息。
getSharedPreferences (String FIRST_USER, int mode)
getSharedPreferences (String SECOND_USER, int mode)
...
有了这个approch,我将只检查当前用户的userid
并在启动时加载SharedPrefs
文件,然后使用相同的current_users sharedPref
对从KEY - VALUE
文件中读取数据。当用户切换时,只需加载不同的文件,一切都将被更改。
我知道UserDefaults相当于iOS中的sharedpref,但我不知道是否 我可以做类似于我在android中使用不同的SharedPrefs文件做的事情。
不具备iOS编程方面的丰富经验。
感谢任何帮助。
答案 0 :(得分:0)
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)
}
注意:在此处使用与存储数据相同的密钥