如何从状态为完整的 NSMutableArray 获取最后一个元素?
How to get last element from NSMutableArray in which status as complete?
我有一系列字典,格式如下
[
{
"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.
我有一系列字典,格式如下
[
{
"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.