如何限制在iOS

时间:2016-12-28 05:34:16

标签: ios nsdictionary nsuserdefaults

我有一本字典,内容如下:

     {
            Name = "John";
            Picture =         (
                ""
            );
            Rating = 4;
        },
     {
            Name = "Peter";
            Picture =         (
                ""
            );
            Rating = 3;
        },

我将这些dictionaries存储在NSUserDefaults中。我希望拥有userID FED123RED123的用户只能在dictionaries中存储两个这样的NSUSerDefaults,而具有不同userID的其他用户可以在NSUSerDefaults中存储他的两个不同的值。简而言之,我如何根据dictionaries限制NSUserDefaults中存储的userID的数量。

2 个答案:

答案 0 :(得分:0)

安排这样的结构:

"FED123RED123" : [
                    {
                        Name = "John";
                        Picture =         (
                            ""
                        );
                        Rating = 4;
                    },
                    {
                        Name = "Peter";
                        Picture =         (
                            ""
                        );
                        Rating = 3;
                    }
            ]

检查为特定用户id存储的数组的计数是否小于2,然后允许添加字典。

答案 1 :(得分:0)

您可以创建Dictionary类型的变量:

var dictionary_to_save: [[String:AnyObject]]!

现在,您可以将userDefaults保存到上面的字典中并检查上面相同字典的计数

var dictionary_to_save: [String:AnyObject]]?

func saving_to_defaults(){
        let defaults = NSUserDefaults.standardUserDefaults()
        let defaultsValue = defaults.objectForKey(object_name, forkey:"key_name")
        self.dictionary_to_save = defaultsValue
        if dictionary_to_save.count >= 2{
            // do nothing or, count is already two, so delete dictionaries added before as

            self.dictionary_to_save.removelast()

        }else{

        }
        //save object using userDefault here
        defaults.setObject(object_name, forKey: "key_name")
    }