我有字典的数组在下面的格式如何从状态为完成的NSMutableArray获取最后一个元素?
[
{
"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);
}
开始和向后遍历。只要您找到“状态”为“已完成”的元素,请将其返回。 – smarx