如何从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.