你们帮帮我吗?我找到了如何保存和检索简单对象以将其用作应用程序设置。
NSUserDefaults.StandardUserDefaults.SetString("testUser","username");
NSUserDefaults.StandardUserDefaults.Init(); //Although it's strange that you have to call this method to actually save your stuff
然后你可以像那样检索它:
var username = NSUserDefaults.StandardUserDefaults.StringForKey("username");
现在,如果我需要保存多个用户名(我想要多少)怎么办?
如果我需要使用密码或密码保存多个用户名怎么办?
这是一个数组的例子(许多字符串用一个键保存):
NSUserDefaults.StandardUserDefaults ["array"] = NSArray.FromStrings ("a", "b", "c");
foreach (string s in NSUserDefaults.StandardUserDefaults.StringArrayForKey ("array")) {
Console.WriteLine (s);
}
以及使用单个键保存字典(key = value)的示例:
NSDictionary dict = NSDictionary.FromObjectsAndKeys (new object[] { "user1", "user2" }, new object[] { "123", "abc" });
NSString key = new NSString ("dict");
NSUserDefaults.StandardUserDefaults.SetValueForKey (dict, key);
NSDictionary d2 = NSUserDefaults.StandardUserDefaults.DictionaryForKey (key);
for (int i = 0; i < d2.Count; i++) {
Console.WriteLine ("{0} : {1}", d2.Keys [i], d2.Values [i]);
}
如果你有很多想要搜索和过滤的用户,我会考虑使用核心数据。如果您的应用程序不是那么复杂,您始终可以将字典序列化为字符串,并将其保存在用户默认值中。一个很好的JSON(de)序列化库是SBJSON http://stig.github.com/json-framework/。
这是一个数组的例子(许多字符串用一个键保存):
NSUserDefaults.StandardUserDefaults ["array"] = NSArray.FromStrings ("a", "b", "c");
foreach (string s in NSUserDefaults.StandardUserDefaults.StringArrayForKey ("array")) {
Console.WriteLine (s);
}
以及使用单个键保存字典(key = value)的示例:
NSDictionary dict = NSDictionary.FromObjectsAndKeys (new object[] { "user1", "user2" }, new object[] { "123", "abc" });
NSString key = new NSString ("dict");
NSUserDefaults.StandardUserDefaults.SetValueForKey (dict, key);
NSDictionary d2 = NSUserDefaults.StandardUserDefaults.DictionaryForKey (key);
for (int i = 0; i < d2.Count; i++) {
Console.WriteLine ("{0} : {1}", d2.Keys [i], d2.Values [i]);
}
如果你有很多想要搜索和过滤的用户,我会考虑使用核心数据。如果您的应用程序不是那么复杂,您始终可以将字典序列化为字符串,并将其保存在用户默认值中。一个很好的JSON(de)序列化库是SBJSON http://stig.github.com/json-framework/。
我很难得到 NSUserDefaults
存储词典。我最终做的,只是获取Documents目录,并在应用程序终止或转到后台时将我的字典保存到文件中,然后在应用程序完成加载时从文件中加载它。 NSDictionary
和 NSMutableDictionary
具有从文件加载或保存的类方法 - 它使用序列化的XML,因此它非常优雅。
如果您的应用程序不需要大量数据,并且数据简单且结构流畅,那么这很好。