0

我有一个 NSMutableDictionary ,它包含这样的字符串类型的对象:

{
    {
        {"ID":"23"},
        {"NAME":"Ted"}
    },
    {
        {"ID":"46"},
        {"NAME":"Karren"}
    },
    {
        {"ID":"6"},
        {"NAME":"Phillip"}
    }
}

我需要一种以索引方式访问 ID #x 的对象的方法。现在,由于 ID=46 的对象在索引 #1 中,我需要一种方法来使字典的索引中的对象仍然保持原样,但是是否可以向该对象添加键?喜欢:

"6":"{
   {"ID":"6"},
   {"NAME":"Phillip"}
}"

如果可能显示一些代码。否则,我怎么能以另一种方式做到这一点。谢谢

4

2 回答 2

0

首先你需要对结构做一些事情,

[
    {
        "ID": 23,
        "Name": "Ted"
    },
    {
        "ID": 46,
        "Name": "Karen"
    },
    {
        "ID": 6,
        "Name": "Philip"
    }
]

这会让你的工作轻松很多。您可以根据IDName轻松搜索/排序它。

//All users array
NSArray *users = ....

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ID = %d",userID];

//Find User against a user id
NSDictionary *user = [[users filteredArrayUsingPredicate:predicate] lastObject];
于 2013-05-03T15:54:35.967 回答
0

使用谓词怎么样?

NSArray *resultArray = [[[myDictionary allValues] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"ID == %@", @"6"]];

您检索所有字典值,并使用谓词返回具有您正在查找的值的单个元素数组

(代码未经测试,但应该可以工作)

于 2013-05-03T15:40:52.990 回答