我有一个数组,其中包含多个字典。

格式如下:-
数组
-索引
-DOW =工作日
-索引
-DOW =周末
-索引
-DOW =工作日

我想只用包含DOW = Weekday的那些词典中的数据填充表。

枚举的最快方法是什么?

请注意,数据将通过过滤器进行更改,然后重新加载表。

最佳答案

您可以使用NSPredicate过滤数组,如下所示:

NSArray *data = @[
     @{@"Dow":@"Weekday", @"One":@"Two"}    // Item 0
,    @{@"Dow":@"Weekend", @"Three":@"Four"} // Item 1
,    @{@"Dow":@"Weekday", @"Five":@"Six"}   // Item 2
];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(Dow=='Weekday')"];
NSArray *res = [data filteredArrayUsingPredicate:pred];

上面的代码将保留NSArray的项目0和2,并删除项目1,因为它不包含将@"Dow"设置为@"Weekday"的条目。

上面的data变量表示示例中的预过滤数据。

10-08 05:34