检查ios中字典数组中特定键的值是否存在

Aud*_*urn 1 arrays dictionary objective-c ios

我有一个NSMutableArray被调用sourceData,它包含许多具有相同键的字典对象:ID,NAME,CONTENT.

 [ //sourceData
   {ID:1, NAME:@"Bob", CONTENT:@"words"},
   {ID:2, NAME:@"Bob", CONTENT:@"words"},
   {ID:3, NAME:@"Bob", CONTENT:@"words")
 ];
Run Code Online (Sandbox Code Playgroud)

我有另一个相同的数组调用dataToAdd.我想要做的是迭代数组dataToAdd,只有sourceData在对象没有相同的ID值时才添加对象.

换句话说,sourceData如果数组包含ID为X的字典对象,如何检入数组.

Apu*_*urv 5

您应该使用谓词来过滤数组.

NSArray *filtered = [sourceData filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(ID == %@)", @(ID_YOU_WANT_TO SEARCH)]];
Run Code Online (Sandbox Code Playgroud)

这将返回包含所请求ID的所有字典的数组.