NSUserDefaults.StandardUserDefaults - 保存和检索字典

iLe*_*ing 11 c# monodevelop nsuserdefaults xamarin.ios ios

你们帮帮我吗?我找到了如何保存和检索简单对象以将其用作应用程序设置.

NSUserDefaults.StandardUserDefaults.SetString("testUser","username");
NSUserDefaults.StandardUserDefaults.Init(); //Although it's strange that you have to call this method to actually save your stuff
Run Code Online (Sandbox Code Playgroud)

然后你可以像这样检索它:

var username = NSUserDefaults.StandardUserDefaults.StringForKey("username");
Run Code Online (Sandbox Code Playgroud)

现在,如果我需要保存多个用户名(我想要多少)怎么办?如果我需要使用密码或密码保存多个用户名怎么办?

pou*_*pou 12

这是一个数组的例子(许多字符串用一个键保存):

        NSUserDefaults.StandardUserDefaults ["array"] = NSArray.FromStrings ("a", "b", "c");
        foreach (string s in NSUserDefaults.StandardUserDefaults.StringArrayForKey ("array")) {
            Console.WriteLine (s);
        }
Run Code Online (Sandbox Code Playgroud)

并且使用单个键保存字典(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]);
        }
Run Code Online (Sandbox Code Playgroud)