如何从NSMutableArray中获取状态为完成的最后一个元素?
我有以下格式的字典arrays
[ { "status":"not completed", "rating":2 },{ "status":"completed", "rating":2 },{ "status":"not completed", "rating":"<null>" },{ "status":"completed", "rating":"<null>"},{ "status":"not completed", "rating":"<null>" } ]
从这我想要作为最后一个对象状态完成和评价为空的响应
output { "status":"completed", "rating":"<null>" }
我如何获得第二个元素很容易没有任何大的迭代。
在实际情况下,这个数组可能包含150-300个元素。
-(void)checkRecentUnratedOrder:(NSMutableArray *)order{ NSLog(@"trip log - %@",[order valueForKey:@"status"]); // total 5 objects inside array in that 4 of them are completed NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.status == completed"]; NSArray *arr = [order filteredArrayUsingPredicate:predicate]; NSLog(@"trip arr%@",arr); }
安慰
你需要像这样predicate
你的数组
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.status == 'completed'"]; NSArray *arr = [order filteredArrayUsingPredicate:predicate]; // Now `arr` contains all the `dictionary` that `status` key contain `completed` value.